总体介绍
集合和数组
集合:容器类,java.util包
数组:可以存储基本数据类型,长度固定
集合:只可以存储对象,对象类型可以不一样,长度可变
层次及其介绍
主要分为Collection和Map。Collection:存储单个元素。Map:存储键值对key-value
-
Iterable: Collection的父接口,可用iterator()遍历集合中的元素,主要包含:
hasNext():是否还有下一个元素
next():返回下一个元素
remove():删除当前元素 -
Collection: 是集合类的根接口,继承产生List、Set和Queue
List: 有序、能包含重复的元素。List关注的是索引,拥有一系列和索引相关的方法,查询速度快,但插入或删除的时候,需要移动,速度慢。
Set: 无序、不能包含重复的元素。集合中对象不按特定方式排序,只是简单的加入集合。
Queue: 先进先出队列 -
Map: key-value键值对,不能包含重复的key。对Map集合遍历时,先得到键的set集合,对set集合进行遍历,得到相对于的值。
是否有序 | 是否允许元素重复 | ||
---|---|---|---|
Collection | |||
List | 是 | 否 | |
Set | AbstractSet | 否 | 否 |
HashSet | 否 | 否 | |
TreeSet | 是(用二叉排序树) | 否 | |
Map | AbstractMap | 否 | key不允许重复 |
HashMap | 否 | key不允许重复 | |
TreeSet | 是(用二叉排序树) | key不允许重复 |
遍历
在类集中提供了以下四种的常见输出方式:
- Iterator:迭代输出,是使用最多的输出方式。
- ListIterator:是Iterator的子接口,专门用于输出List中的内容。
- foreach输出:JDK1.5之后提供的新功能,可以输出数组或集合。
- for循环