一、List接口:ArrayList、LinkedList、Vector;
1、ArrayList: 基于数组的有序集合,按照添加的先后顺序排列; 适用于进行大量的随机访问.
2、LinkedList:基于链表的有序集合,按照插入的先后顺序排序;适合在表中进行插入、删除时使用.
3、Vector:是一个有序的数组集合;因线程安全,即方法之间是线程同步.
4、遍历集合方法:
(1)、Iterator[迭代]. (2)、ListIterator[是Iterator的子接口]. (3)、foreach[jdk1.5新增]. (4)、for[循环].
定义一个线程安全的list:
(1)、list myList = new Vector();
(2)、关键字:synchronized.
(3)、collections.synchronizedList(new ArrayList());
二、jdk1.8 List新增:流stream. —> 一个来自数据源的元素队列并支持聚合操作.
1、forEach(): 迭代流中的数据.
2、map(): 映射每个元素到对应的结.
3、filter(): 通过设置的条件过滤出元素.
4、limit(): 获取指定数量的流.
5、sorted(): 对流进行排序.
6、parallelStream(): 流并行处理程序的代替方法.
7、Collectors(): 对集合进行重新的归约操作; 如:将流转换成集合和聚合元素.