标签:java 使用 io ar cti amp sp on new
注意List,Set继承自Collection,Map不继承Collection。
1、java.util.Collection接口:是集合类的上级接口,继承他的接口主要有Set和List。
2、java.util.Collections类:是针对集合类的一个帮助类,它提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
Comparable 和 Comparator 都是用来实现集合中元素的比较、排序的。只是 Comparable 是在集合内部定义的方法实现的排序,而Comparator 是在集合外部实现的排序。所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparable 接口的方法。
重写该接口的唯一方法 int compareTo(T o)方法。
public class User implements Comparable{}//是User类继承该接口
使用时Arrays.sort(users);
重写该接口的两个方法:int compare(T o1, T o2)和boolean equals(Object obj)。
public class SampleComparator implements Comparator{}//不是User类继承该接口
使用时Arrays.sort(array, new SampleComparator()); //需传入该接口的实例化对象
相同点:二者都继承了List接口,是有序集合,允许重复元素,可以按索引号取出元素。(HashSet之类的集合不允许重复,不可按索引号取元素)
区别:
(1)Vector是线程安全的(即它的方法之间线程同步),适合多线程的情况;ArrayList线程不安全,效率高。
注意:Vector和Hashtable是旧的,线程安全的;ArrayList与HashMap是java2才提供的,线程不安全。
(2)二者都有一个初始容量(可以自己设置),当存储元素超过容量时,Vector默认增长为原来两倍(可以自己设置);ArrayList增长为原来1.5倍(不可自己设置)。
标签:java 使用 io ar cti amp sp on new
原文地址:http://www.cnblogs.com/seven7seven/p/3940171.html