集合的体系:
----------| Collection 单列集合的根接口
----------------| List 如果实现了List接口的集合类,具备的特点: 有序,可重复。
----------------------| ArrayList ArrayList 底层是维护了一个Object数组实现 的, 特点: 查询速度快,增删慢。
----------------------| LinkedList
----------------------| Vector(了解即可)
----------------| Set 如果实现了Set接口的集合类, 具备的特点: 无序,不可重复。
什么时候使用ArrayList:
如果目前的数据是查询比较多,增删比较少的时候,那么就使用ArrayList存储这批数据。
ArrayList 特有的方法:ensureCapacity(int minCapacity) 和 trimToSize()
笔试题目: 使用ArrayList无参的构造函数创建一个 对象时, 默认的容量是多少?
如果长度不够使用时又自增增长多少?
ArrayList底层是维护了一个Object数组实现 的,使用无参构造函数时,
Object数组默认的容量是10,当长度不够时,自动增长0.5倍。
/**
* Default initial capacity.
*/
private static final int DEFAULT_CAPACITY = 10;
/**
* Shared empty array instance used for empty instances.
*/
private static final Object[] EMPTY_ELEMENTDATA = {};
创建集合对象
ArrayList<String> list = new ArrayList<String>();
添加元素
list.add("hello");
list.add("world");
list.add("java");
public E get(int index):返回指定索引处的元素
System.out.println("get:" + list.get(0));
System.out.println("get:" + list.get(1));
System.out.println("get:" + list.get(2));
public int size():返回集合中的元素的个数
System.out.println("size:" + list.size());
public E remove(int index):删除指定索引处的元素,返回被删除的元素
System.out.println("remove:" + list.remove(0));
遍历输出,使用Iterator遍历
System.out.println("使用Iterator遍历:");
Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.print((String) it.next()+" ");
}
System.out.println();