概念
作为对象的容器,定义了一些对多个对象进行操作的方法·,可实现数组的功能
数组和集合的区别
- 数组的长度固定,集合的长度不固定
(集合的底层其实还是数组或链表,只是从使用场景来看是不固定的) - 数组能存储基本数据类型和引用类型,集合只能存储引用数据类型
(如果想存储基本数据类型,可以进行装箱操作)
Collection体系集合
- Collection 接口:集合的根接口
- List 接口:有序,有下标,元素不可重复
- ArrayList 类:数组,线程不安全
- LinkedList 类:链表,线程不安全
- Vector 类:数组,线程安全
- Set 接口:无序,无下标,元素可重复
- HashSet 类:底层结构为哈希表
- TreeSet 类:底层为红黑树
迭代器
迭代器(Iterator)是一个接口,它的作用就是遍历容器中的所有元素
ArrayList list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
for (Iterator iterator=list.iterator();iterator.hasNext();){
System.out.println(iterator.next());
}
//用while循环方式遍历
ArrayList list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
Iterator iterator=list.iterator