Java中的容器类(List,Set,Map,Queue)

Java中的容器类(List,Set,Map,Queue)

一、基本概念

  Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念:

  1)Collection。一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,而Set不能有重复的元素。Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺序相同)。

  2)Map。一组成对的“键值对”对象,允许你使用键来查找值。ArrayList允许你使用数字来查找值,因此在某种意义上讲,它将数字与对象关联在了一起。映射表允许我们使用另一个对象来查找某个对象,它也被称为“关联数组”,因为它将某些对象与另外一些对象关联在了一起;或者被称为“字典”,因为你可以使用键对象来查找值对象,就像在字典中使用单词来定义一样。

  完整容器分类,包括抽象类和遗留构建(不包括Queue的实现):

注意:

  Collections是java.util下的类,包含各种有关集合操作的静态方法;而Collection是java.util下的接口,是各种集合结构的父接口。

二、容器类的相关描述

三、总结

1. 各种Collection和各种Map都可以在你向其中添加更多的元素时,自动调整其尺寸。容器不能持有基本类型,但是自动包装机制会仔细地执行基本类型到容器中的所持有的包装器类型之间的双向转换。

2. ArrayList:大量的随机访问;LinkedList:经常从表中间插入或删除元素;

3. 各种Queue以及栈的行为,有LinkedList提供支持;

4. Map是一种将对象(而非数字)与对象相关联的设计。

  HashMap:快速访问;TreeMap:保持“键”始终处于排序状态,没有HashMap快;LinkedHashMap:保持元素的插入顺序,但也通过散列提供了快速访问能力。

5. Set不接受重复元素。

  HashSet:提供最快的查询速度;TreeSet:保持元素处于排序状态;LinkedHashSet:以插入的顺序保存元素。

6. Map与Collection之间的唯一重叠就是Map可以使用entrySet()和values()方法来产生Collection。

原文地址:https://www.cnblogs.com/CherishFX/p/4723803.html