概念:与数组类似,用来存储一组元素。与数组相比,集合长度可变,比数组更加灵活。
集合是一个庞大的存储体系,存储类型默认为Object如下所示:
collection(存储方式:value)
list——有序可重复
Arraylist<E>
LinkedList
Vector(较少需要)
set——无序无重复
HashSet
TreeSet
map(存储方式:key—value)——key无序无重复
HashMap
TreeMap
自我理解:
1. ArrayList集合类似于动态数组的概念,长度可变和有序可重复的特点使其十分常用。
主要使用方法: add(value);addAll(index,collection);get(index);remove(index);size();indexOf();contains();
2. HashSet集合在存储实现无重复的标准为:equals()方法和hashCode()方法同时支持才视为重复元素。在存储泛型为对象时,需要重写equals()方法来确定判断重复规则。
3. TreeSet集合并不是绝对的无序,在存储时仍遵循类似字典的索引顺序。此集合在存储对象时,该对象的类必须实现Comparable接口,并且重写compareTo()方法,否则将触发造型异常。在重写compareTo()方法时,可以通过自定义代码去实现特定的排序规则,这个特点使TreeSet集合更加灵活,并且拥有自定义的排序规则。
4. Map集合的无重复是指key无重复,一旦key重复,原本的value将被覆盖。而Set集合的无重复并不是覆盖,而是拒绝存储。