Java中Collection和Map体系(Java容器)
Java常用容器类继承关系图解
Java容器类简介
Java中容器类主要分为四中体系:List
、Set
、Queue
、Map
。
List
:代表有序、可重复的集合;
Set
:代表无序、不可重复的集合;
Queue
:代表一种队列集合实现;
Map
:代表具有映射关系的集合。
容器简介
Collection
:Collection体系中的基本接口,没有直接实现类,只有子接口(包含List
、Set
、Queue
接口等);定义了对集合的基本操作方法(增、删、改、查、遍历、获取集合大小等);
List
:是一个有序的 Collection,使用此接口能够精确的控制每个元素插入的位置,能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的索引为 0,而且允许有相同的元素;List 接口存储一组不唯一,有序(插入顺序)的对象。
Set
:Set集合与Collection集合基本相同,没有提供其他额外的方法。实际上Set就是Collection,只是行为略有不同;Set 接口存储一组唯一,无序的对象。
Queue
:Queue表示队列这种数据结构,队列通常是指**“先进先出”(FIFO,first-in-first-out)的容器**。新元素插入(offer)到队列的尾部,访问元素(poll)操作会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。
Stack
:Stack表示栈结构。与队列(Queue)不同,它实现了一个标准的**“后进先出”(LIFO,last-in-first-out)的容器**。
Map
:Map 接口存储一组键值对对象,提供key(键)到value(值)的映射。key和value之间存在单向一对一关系,即通过指定的key,总能找到唯一的、确定的value。从Map中取出数据时,只要给出指定的key,就可以取出对应的value,Map的key不能重复,如果重复添加,会覆盖原来的值。
容器的元素存取与遍历
List
存取元素
List<String> list = new ArrayList<>();
// 增加元素
list.add("BB");
list.add("CC");
list.add(0, "AA");
// 根据索引获取值
String value = list.get(0);
遍历
List<String> list = new ArrayList<>();
// 增加