摘自JDK6.0。
Map接口:
|
+ -- WeakHashMap: 以弱键 实现的基于哈希表的 Map。在 WeakHashMap 中,当某个键不再正常使用时,将自动移除其条目。更精确地说,对于一个给定的键,其映射的存在并不阻止垃圾回收器对该键的丢弃,这就使该键成为可终止的,被终止,然后被回收。丢弃某个键时,其条目从映射中有效地移除,因此,该类的行为与其他的 Map 实现有所不同。此实现不是同步的。
|
+ -- TreeMap:该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。此实现不是同步的。
|
+ -- HashMap:基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺 序恒久不变。此实现不是同步的。
|
+-- SortedMap: 进一步提供关于键的总体排序 的 Map。该映射是根据其键的自然顺序进行排序的,或者根据通常在创建有 序映射时提供的 Comparator 进行排序。对有序映射的 collection 视图(由 entrySet、keySet 和 values 方法返回)进行迭代时,此顺序就会反映出来。要采用此排序方式,还需要提供一些其他操作(此接口是 SortedSet 的对应映 射)。
Collection接口:
|
+ -- Set接口:一个不包含重复元素的 collection。更正式地说,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。
| |
| + -- HashSet:此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。此类为基本操作提供了稳定性能,此实现不是同步的。
| |
| + -- LinkedHashSet:具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现。此实现与 HashSet 的不同之外在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,即按照将元素插入到 set中 的顺序(插入顺序)进行迭代。注意,插入顺序不 受在 set 中重新插入的 元素的影响。此实现不是同步的。
| |
| + -- TreeSet:基于 TreeMap 的 NavigableSet 实现。使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。此实现为基本操作(add、remove 和 contains)提供受保证的 log(n) 时间开销。此实现不是同步的。
|
+ -- List接口:有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
|
+ -- ArrayList:List 接口的大小可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。(此类大致上等同于Vector 类,除了此类是不同步的。)每个 ArrayList 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。并未指定增长策略的细节,因为这不只是添加元素会带来分摊固定时间开销那样简单。此实现不是同步的。
|
+ -- LinkedList:List 接口的链接列表实现。实现所有可选的列表操作,并且允许所有元素(包括 null)。除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或双端队列。提供先进先出队列操作(FIFO)。此实现不是同步的。
|
+ -- Vector:Vector 类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是 ,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。此实现是同步的 。
分享到:
相关推荐
Java Collection Framework 主要有六个核心接口: - `Collection`: 所有单列集合的根接口。 - `Set`: 不允许重复元素的集合。 - `List`: 有序且可重复的集合。 - `Map`: 存储键值对的映射表。 - `Queue`: 支持元素...
在本总结中,我们将深入探讨Collection接口以及其主要子接口和实现类,通过实例来帮助理解它们的特性和使用场景。 1. **Collection接口**:Collection是所有单元素容器的根接口,它定义了集合的基本操作,如添加...
### Java集合框架Collection接口详解 #### 一、Java集合框架简介 Java集合框架(Java Collection Framework)是Java标准库中的一个重要组成部分,它提供了一系列用于存储和操作数据集合的接口和实现类。这些接口和...
### Java之Collection总结 #### 一、集合简介与遍历方式 ##### 1. 集合的作用与定义 集合是一种特殊的数据结构,主要用于存储和管理对象。在Java中,集合是一个容器对象,用于存储一系列对象的引用。集合提供了一...
除了Collection接口中的方法外,List还提供了`get(int index)`、`set(int index, E element)`、`add(int index, E element)`等与索引操作相关的API。 1.3.3 实现原理 ArrayList基于动态数组实现,适合随机访问,...
##### 3.1 Collection接口 `Collection`接口是最基础的接口之一,它是所有其他集合类的父接口。它定义了一些基本的操作方法,比如增加、删除元素等。 - **方法概述** - `boolean add(Object o)`:向集合中添加一...
### Java视频学习总结知识点 #### 抽象方法与抽象类 在Java中,抽象方法是一种没有具体实现(方法体)的方法,它仅提供方法签名,而具体的实现留给子类完成。一个类如果包含一个或多个抽象方法,那么这个类必须被...
《Java 基础核心总结》 Java 概述 什么是 Java2 Java 的特点Java 开发环境 JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else ...
Java集合类可以分为两种:Collection接口和Map接口。Collection接口有两个子接口:List接口和Set接口。List接口是有序的,可以重复元素,常用的实现类有ArrayList和LinkedList。Set接口是无序的,不允许重复元素,...
本文将对ArrayList、Vector、LinkedList、Map接口中的HashMap和Hashtable进行总结,帮助读者理解它们的特点和使用场景。 ArrayList和Vector都是基于数组实现的列表,它们都实现了List接口。ArrayList是非线程安全的...
Collection接口是一组允许重复的对象。Set接口继承Collection,但不允许重复,使用自己内部的一个排列机制。List接口继承Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。Map接口是一组成对的键-...
1. **Collection接口的继承结构**: `Collection`接口有两个直接的子接口:`List`和`Set`。`List`接口代表有序的集合,允许包含重复元素,并且有索引。而`Set`接口则代表无序的集合,不允许重复元素。 2. **List...
14. **垃圾回收**:Java的自动内存管理机制,即垃圾回收(Garbage Collection),使得程序员无需手动释放内存,降低了程序出错的可能性。 15. **多线程**:Java内置了对多线程的支持,允许开发者创建并管理多个执行...
本文将详细介绍 Java Collection 的核心概念、接口、抽象类以及具体实现。 ### 集合的概念 集合(Collection)在 Java 中是指一组对象的组合,这些对象被称为元素。集合框架的设计旨在解决不同场景下的数据存储...
2. **内存管理**:Java自动进行垃圾回收(Garbage Collection),程序员无需手动释放内存,降低了内存泄漏的风险。 3. **异常处理**:Java强制使用try-catch-finally语句块处理异常,增强了程序的健壮性。 **三、...
2. **Collection接口**: - Collection是最基本的集合接口,定义了集合的基本操作,如添加、删除和遍历元素。所有集合类都直接或间接继承自Collection。 3. **Iterator接口**: - Iterator用于遍历集合中的元素,...
- Collection:Java的集合框架包括`Set`、`List`、`Map`等接口,用于存储和管理对象集合。 - 迭代器:`Iterator`用于遍历集合中的元素,而`ListIterator`提供双向遍历列表的能力。 - 集合类的实现:如`ArrayList`...
1. **Collection接口**: - Collection是所有单值容器的基接口,包括Set和List接口。 - **Set接口**:不允许重复元素,主要实现有HashSet、TreeSet和LinkedHashSet。 - HashSet:无序存储,不保证元素顺序,允许...
以上知识点在"JAVA知识点总结思维导图(xmind)"中可能以思维导图的形式详细展开,包括每个主题的子话题和相关实例,帮助学习者系统地理解和掌握Java编程。通过深入学习和实践这些知识点,可以成为一名熟练的Java...