在java.util包中有一些集合类,称为“容器”。
0.区别:集合与数组
集合:长度可变,用来存放对象的引用
数组:长度固定,用来存放基本类型的数据,
1. 常用集合:List、Set、Map
java.lang.Object类中》collection接口、Map接口
collection接口》Set、List
2. collection接口
方法:add(event)、remove(obj)、isEmpty()、size()、iterator()迭代器
图片发自简书App
List集合
List接口继承了collection接口,即包含了collection接口的所有方法
List实现类 | ArrayList | LinkedList |
---|---|---|
优点 | 查询速度快 | 插入、删除速度快 |
缺点 | 插入、删除速度慢 | 查询速度慢 |
功能 | 常用 | 可用于实现stack、queue和双向队列 |
Set集合
Set集合中的对象不按特定方式排序,同时不能包含重复对象;
继承了collection接口,即包含了collection接口的所有方法
Set实现类 | HashSet | TreeSet | LinkedHashSet |
---|---|---|---|
优势 | 查询速度快,使用散列码技术;允许使用null元素 | 排序 | 链表存储顺序,速度快 |
Map集合
提供key到value的映射,同时不能包含相同key
keySet():返回该集合中的所有key对象形成的Set集合
values():返回该集合中的所有值对象形成的collection集合
Map实现类 | HashMap | TreeMap | LinkedHashMap |
---|---|---|---|
优势 | 允许使用null值和null键,但必须保持唯一性 | 不允许键对象是null,使用红黑树排序 | 同HashMap |