Java 学习笔记17:深入Java List
List类型
Java List一共三个实现类:分别是ArrayList、Vector和LinkedList。类型 说明 ArrayList ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中。当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。 Vector Vector与ArrayList一样,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问ArrayList慢。 LinkedList LinkedList是用链表结构存储数据的,很适合数据的动态插入和删除,随机访问和遍历速度比较慢。另外,他还提供了List接口中没有定义的方法,专门用于操作表头和表尾元素,可以当作堆栈、队列和双向队列使用。 ArrayList在内存不够时默认是扩展50% + 1个,Vector是默认扩展1倍。
Vector属于线程安全级别的,但是大多数情况下不使用Vector,因为线程安全需要更大的系统开销。
一般使用ArrayList和LinkedList比较多
ArrayList
ArrayList是最常用的List实现类。ArrayList内部是通过数组实现的。所以只适合遍历或者随机查找。
常用的接口:list.add(int index,E element) 将数据新增到指定位置
list.add(E element) 将指定的元素添加到此列表的尾部。
list.addAll(Collection<? extendsE> c) 按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。
list.addAll(int index,Collection<? extendsE> c) 从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。
list.clear() 移除此列表中的所有元素。
list.set(int index,E element) 用指定的元素替代此列表中指定位置上的元素。
list.get(int index) 返回此列表中指定位置上的元素。
list.size() 查看元素总个数
使用实例:
@RequestMapping(value="/test")
@ResponseBody
public String test() {
List<integer> list = new ArrayList<integer>(); // 实例化一个数组List int类型
for (int j = 0; j < 20; j++) {
list.add(j); //往list中新增数据
}
System.out.print(list.size()); //打印出list长度
list.remove(1); //删除key为1的list上的数据
//一种遍历方法
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i) + "\r\n"); //获取值
}
- java教程,自学编程,青软培训