方法二
Java.lang.Comparable Public int compareTo(Object o) Class Person implements java.lang.Comparable{ Public int compareTo(Object o){ Comparable c1=(Comparable)this; Comparable c2=(Comparable)o; Return c1.name.compareTo(c2.name ); } } ………………………………. } |
首先Collection和Map是两个毫无关系的接口,Collection是对象集合,Map是键值对集合
Collection有两个子接口List和Set
List可以通过下标(1,2..)来取得值,值可以重复
而Set只能通过游标来取值,并且值是不能重复的
ArrayList,Vector,LinkedList是List的实现类
ArrayList是线程不安全的,Vector是线程安全的,这两个类底层都是由数组实现的
LinkedList是线程不安全的,底层是由链表实现的
HashTable和HashMap是Map的实现类
HashTable是线程安全的,不能存储null值
HashMap不是线程安全的,可以存储null值
实现Collection接口的类,如果底层是用数组实现,那么添加新元素花费的时间会比较多,因为他要保证这个数组的容量足够大,所以在每添加一个新元素的时候都要自动扩大数组容量....如果实现Collection接口的类底层是用链表实现,那么他查找一个元素所花费的时间会比较长,因为他不能通过下标来查找,只能一个个的遍历....所以在add()操作比较多的时候用LinkedList性能比较好,在search()操作比较多的时候用ArrayList和Vector比较好。