为什么要学习容器:
- 容器封装了复杂数据结构,方便,避免重复造轮子
- 方便处理对象,易于存储(只能存储引用类型,基本数据类型自动装箱)
- 相比数组长度可变
API需要注意的地方
boolean contains(Object o)
//如果且仅当该集合至少包含一个元素e使得(o==null ? e==null : o.equals(e)),可见允许包含null
int size()
//返回此集合中的元素数。 如果此收藏包含超过Integer.MAX_VALUE个元素,则返回Integer.MAX_VALUE 。
<T> T[] toArray(T[] a)
/*
*可以指定返回的数组类新,如果a数组大小不足以装下将创建一个新数组;
*a数组足够大会将剩余空间设置为null,如果集合中包含null要注意。
*如果此集合对其迭代器返回的元素的顺序做出任何保证,则此方法必须以相同的顺序返回元素。
*/