List集合学习
Java中常用的List子类主要有: ArrayList、LinkedList、Vector 。有序( 存储和取出的元素一致),可重复的。 三者比较 1:访问:ArrayList和Vector都实现了RandomAccess接口,提供了随机访问功能,查询O(1);LinkedList是链表,查询O(n); 2:增删:ArrayList和Vector底层是数组,增删容易引起大量的内存操作,效率较慢;LinkedList是链表实现,增加和删除较快; 3:线程安全性:Vector是线程安全的,大部分的方法都用了syncrhoized关键字修饰。如果是 单线程 下使用,可以用 Arrayist ,如果是 多线程 操作的list,则可以用 Vector 来保证线程安全。 4:ArrayList每次扩容增加50%,Vector扩容增加一倍。 一:ArrayList ArrayList实现了List接口,实现了一系列的add()/get()/clear()/remove()等接口中的方法。其底层其实是一个数组,通过对数组上一系列操作的封装来实现list的各种功能的。 1:ArrayList 实际上是 通过一个数组去保存数据的 。当我们构造ArrayList时;若使用默认构造函数,则ArrayList的 默认容量大小是10 。 2:当ArrayList容量不足以容纳全部元素时