java集合
集合是什么?
Java集合类存放在java.util包中,是一个用来存放对象的容器。
注意:
1. 集合只能存放对象。比如你存一个int型数据1放入集合中,其他它是自动转换为Integer类后存入的,Java中的每一种基本类型都有对应的引用类型。
2. 集合存放的是多个对象的引用,对象本身还是放在堆内存中。
3. 集合可以存放不同类型,数量不限的数据类型。
集合框架图

集合详解
Iterator迭代器:Java集合的顶层接口(不包含Map系列的集合)
Object next():返回迭代器刚越过的元素的引用,返回值是Object,需要强制转换成自己需要的类型
boolean hasNext():判断容器内是否还有可以访问的元素。
void remove():删除迭代器刚越过的元素。
Iterable中封装了Iterator接口,所以只要实现了Iterator接口的类,就可以使用Iterator迭代器了。
Collection是List、Set的父接口
- List常见实现,元素有序可重复
- List list1 = new ArrayList();
底层数据结构是数组,查询快,增减慢;线程不安全,效率高 - List list2 = new Vector();
底层数据结构是数组,查询快,增减慢;线程安全,效率低 - List list3 = new LinkedList();
底层数据结构是链表,查询慢,增减快;线程不安全,效率低
- List list1 = new ArrayList();
- Set常见实现,元素无序,不可重复
- Set hashSet = new HashSet();
底层实现其实是一个数组,不可重复,线程不安全,集合元素可以为空NULL。集合中存入一个元素时,
HashSet会先调用该对象的hashCode方法来获取该对象的hashCode值,然后如果相同再判断equals()方法是否返回为true。
即需要hashSet需要限制,当equals()方法判断相同时,hashCode的值也相同。 - 常见的hashCode算法..
- Set hashSet = new HashSet();
- List常见实现,元素有序可重复