开发工具与关键技术:Eclipse 与 java
作者:蔡杰明
撰写时间:2021 年 05 月 17 日
Java的集合类—>特别有用的工具类
-可存储数量不等的对象,
-可实现常用的数据结构(栈、队列)等
-可保存具有映射关系的关联数组
1、集合类主要负责保存、盛装其他数据,集合类(容器类),所有的集合类都位于java.util包
2、集合类和数组不一样,数组元素可以是基本类型的值,也可是对象(实际保存的是对象的引用变量)集合只能保存对象(实际上只是保存对象的引用变量,通常习惯认为集合里保存的是对象)
3、集合类主要由两个接口派生而生:Collection和Map,这两个接口时java集合框架的根接口,两个接口又包含一些子接口或实现类
Collection List(ArrayList、LinkedList),Set(HashSet※ 、SortedSet->TreeSet))
Map —> HashMap※(LinkedHashMap) , SortedMap(TreeMap)
ArrayList:不是线程安全的
集合有四种体系:
- List:有序、可重复的集合(超过多个的基本用List)
- Set:无序、不可重复的集合
- Queue:队列集合实现
- Map:映射关系的集合
1、List集合: 按照顺序排序输出(Unicode编码排序的)
2、Set:无序、不可重复的集合
Set集合:不支持包含相同的元素【记不住添加的顺序,输出是不按照顺序的】
输出是按照给出的顺序排,但不是按照Unicode编码排序
3、Queue队列【队列是不能插入中途插入的】
- 一个队列是一个先入先出(FIFO)的数据结构
- Queue接口与List\Set同一级别,都是继承Collection接口
- LinkedList实现了Deque接口
队列中有延迟队列
4、Map集合
- key—value
- Map接口中键和值一一映射,可通过键来获取值
- Map可允许null,又不允许null(一部分允许,一部分不允许)
- Map(键值对–>键和值都是对象【根据对象查找对象】 )
1、给定一个键和一个值,可将该值存储在一个Map对象 之后可通过键来访问对应的值
2、当访问值不存在,方法抛出一个NoSuchElementException异常