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 后进行添加或移除项的操作。此实现是同步的
Stack,Queue是逻辑概念,都可以使用linkedlist来实现。(ThinJava P299)
+ -- 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 后进行添加或移除项的操作。此实现是同步的
Stack,Queue是逻辑概念,都可以使用linkedlist来实现。(ThinJava P299)
发表评论
-
java.lang.UnsatisfiedLinkError: no j3dcore-ogl-chk in java.library.path
2011-08-19 17:01 2503Exception in thread "main& ... -
打jar包
2011-05-26 18:35 1027打成jar包: 1、没有其他类库jar文件和插件 ... -
Java实现通用线程池
2011-05-05 23:11 1050线程池通俗的描述就是预先创建若干空闲线程,等到需要用多线程去处 ... -
Java tutorial
2011-05-05 21:49 1016http://download.oracle.com/java ... -
java.awt.component.repaint()
2011-05-05 18:57 1039repaint public void repaint()R ... -
validate
2011-05-05 17:21 745validate public void validate( ... -
Class.forName和New的比较
2011-04-26 14:46 707在初始化一个类,生成一个实例的时候,newInstance() ... -
Responding to Window-Closing Events
2011-04-26 03:00 772By default, when the user close ... -
复杂的GridBagLayout
2011-02-07 16:06 1041今天终于耐着性子弄懂了GridBagLayout是怎么使用的。 ... -
swing中的布局管理器
2011-02-07 15:42 14454.CardLayout CardL ... -
swing中的最上层组件
2011-02-07 15:05 2747swing中几乎所有组件都是从JComponent衍生而来,也 ... -
Java swing 组件分层介绍:JRootPane,GlassPane,LayeredPane
2011-02-06 17:01 3052什么是Swing,什么又是ligh ... -
JTextArea操作
2011-01-11 18:03 1242JTextArea操作: (1)在JTextArea插入 ... -
double到int转换
2010-12-16 23:28 848double到int转换,有“截断”误差的。 可以通过+0.5 ... -
各种排序算法java实现
2010-11-25 15:20 594package org.rut.util.algorith ... -
Java中使用BigDecimal进行浮点数高精度计算
2010-11-25 15:18 807转自:http://chongtianpig.netbei.c ... -
利用java内存映射文件机制实现CRC循环冗余校验
2010-11-19 13:52 1097import java.nio.MappedByteBuf ... -
java中进行二进制,八进制,十六进制,十进制间进行相互转换
2010-11-19 13:48 648十进制转成十六进制: Integer.toHexString ... -
JScrollPane 例解
2010-11-19 01:49 1532类层次结构图: java.lang.Object -- ... -
JTextField JTextArea 区分
2010-11-19 01:14 1517一、单行文本输入框(JTextField) 在许多情况下 ...
相关推荐
### Collection、Map、List、Set、Iterator 的详细解析 #### Collection 接口 - **定义**:`Collection` 是 Java 集合框架的核心接口之一,几乎所有其他集合接口都直接或间接继承自它。它提供了对集合进行增删查改...
### List接口和Map接口详解 #### 一、Java集合框架概览 Java集合框架是Java标准库的一个核心组成部分,用于处理各种数据结构如列表、集合和映射等。该框架提供了一组统一的接口和实现,使开发人员能够高效地管理和...
其中,`Collection`、`List`、`Set`和`Map`是四大基本接口,它们各自代表了一种特定的数据结构,有着不同的特性和用途。下面我们将详细探讨这些接口的区别及其相关知识点。 首先,`Collection`是所有集合类的顶级...
需要注意的是,Collection、List、Set 和 Map 等接口和实现类都有其特点和使用场景,需要根据实际情况选择合适的集合类。同时,理解集合类的底层实现机制也非常重要,可以帮助开发者更好地使用集合类。 在 Java 中...
Collection接口下有List和Set两个子接口,而Map接口则用于存储键值对。 ### Collection 1.2.1 常用方法 Collection接口定义了许多通用方法,如`add()`, `remove()`, `contains()`, `size()`等,这些方法在List和...
本文将深入探讨Java集合框架中的四个主要接口:Collection、List、Set和Map,以及它们的实现原理。 ### 集合框架概述 集合框架是Java API中用于存储和管理对象的统一框架。它为数据结构提供了抽象接口,使得程序员...
"Java集合Collection、List、Set、Map使用详解" Java集合是Java编程语言中最基本也是最重要的一部分。能够正确地使用集合类和理解集合的实现原理对于Java程序的开发具有无比的好处。本文将详细解释Java集合的实现...
在Java编程语言中,集合框架是处理对象集合的重要工具,主要包括了List、Set、Map以及Table等接口及其实现类。这些接口和类各有特点,适用于不同的数据存储和操作场景。 1. **List接口**: - List是Collection的一...
不过,从描述和标签中的“源码 工具”可以推测,作者可能在讨论Java中的集合框架,包括Collection接口、List、Set以及Map接口,这是Java开发中经常讨论的集合类型。 在Java编程中,Collection、List、Set和Map是...
在Java编程语言中,集合框架是处理对象组的重要工具,主要包括List、Set和Map三大接口。这些接口由Java Collection Framework提供,它是一个统一的架构,用于存储和操作各种类型的对象。接下来,我们将深入探讨这三...
除了具有 Collection 接口必备的 iterator() 方法外,List 还提供一个 listIterator() 方法,返回一个 ListIterator 接口,和标准的 Iterator 接口相比,ListIterator 多了一些 add() 之类的方法,允许添加、删除、...
Java集合框架主要包括Collection、List、Set、Map四个接口,它们分别实现了不同的数据结构。 Collection接口是Java集合框架的顶层接口,它定义了基本的集合操作,如add、remove、contains等。Collection接口有两个...
集合框架包含collection和map的子类。其中collection包含list、set和queue。map包括hashmap、hashtable和treemap
本篇文章将深入探讨Java集合类,包括Collection、List、Map和Set,以及它们之间的关联和排序机制。 首先,让我们从Collection接口开始。Collection是最基本的集合接口,它是所有集合类的父接口。Collection接口定义...
在Java中,Map接口不继承Collection接口,而是独立存在,因为它代表的是键值对(key-value)的关系,而不是单个元素的线性序列。 Map接口提供了多种实现类,如HashMap、TreeMap、LinkedHashMap等,每种实现类有不同...
本文将围绕Java集合框架进行详细介绍,包括Collection、List、Set、Map等基本概念及其实现原理。 #### 容器简介 在计算机科学中,容器是一种用来存储数据的对象。Java集合框架提供了一组接口和实现,这些容器用于...
本文将深入探讨集合框架的各个组成部分,包括Collection、List、Set和Map,以及它们的特点、常用方法和实现原理。 1. 集合框架概述 集合框架是一组接口和类,它们为数据存储提供了统一的接口和实现。这些接口和类...
Java 集合框架的主要组件包括 Collection、List、Set、Map 等。 1.1 容器简介 容器是指可以存储对象的对象。 Java 集合框架中有多种类型的容器,每种容器都有其特点和用途。常见的容器有 Collection、List、Set、...