本帖最后由 廖智 于 2012-10-20 11:20 编辑
集合的技巧掌握:
1、是否同步
明确具体集合对象名称的后缀:
如果后缀是List,都所属于List体系。通常都是非同步的。
如果后缀是Set,都属于set体系,通常也是非同步的。
这些体系中的其他子类对象,后缀不是所属接口名的,一般都是同步的。比如Vector。
因为后期升级主要是为了提高效率,所以一般都是非同步的。
2、明确数据结构:
对于jdk1.2版本的子类对象。
后缀名是所属的体系。
前缀名就是数据结构的名称。
比如:
ArrayList:看到Array,是数组结构。查询块
LinkedList:看到Link,就要想到链表结构。就要想到add get remove 和 first last结合的方法。增删快。
HashSet:看到hash,就知道是哈希表。查询巨快。而且唯一性。
就要想到元素必须覆盖hashCode方法和equals方法。
TreeSet:看到Tree,就要明确是二叉树,可以对元素排序。
就要想到两种排序方式:
自然顺序:Comparable接口,覆盖compareTo(一个参数)java.lang
比较器:Comparator接口,覆盖compare(两个参数);java.util
判断唯一性的依据就是比较方法的返回结果return 0;
|