需要唯一吗?Set |——需要指定顺序: |————需要:TreeSet |————不需要:HashSet |————但是想要一个和存储一致的顺序(有序):LinkedHashSet |——不需要唯一。List |————需要频繁增删:LinkedList |————不需要增删:ArrayList
如何记住每一种容器的结构和所属体系呢?看名字! List |——ArrayList |——LinkedList Set |——HashSet |——TreeSet 后缀名就是该集合所属的体系。 前缀名就是该集合的数据结构。 解析: 看到array就要想到数组,就要想到查询快。 看到link就要想到链表,就要想到增删快,就要想到add、get、remove+first last方法 看到hash就要想到哈希表,就要想到唯一性,就要想到需要覆盖hashCode和equals方法 看到tree就要想到二叉树,就要想到排序,就要想到两个接口Comparable和Comparator 而且通常这些常用的集合容器都是不同的。 Vector诞生的时候还没有集合框架
|