先从一个简单例子看一下这些东西可以带给我们怎样的便利,下面的代码会完成字符串去重+排序功能。
String str = "asdasdasdx";
ArrayList<String> list = new ArrayList(Arrays.asList(str.split("")));
HashSet hs = new HashSet(list);
list.clear();
list.addAll(hs);
Collections.sort(list);
不罗嗦了,正文开始!!!
我们先介绍一个类叫Collections(注意末尾有s),它操作在三种数据结构上,分别是List、Set和Map(注意,这三个都是接口,下文会具体讲)。它的API描述是:此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。
然后再说一下Collention,Collection 表示一组对象和在一组对象上规定的一些操作,这些对象也称为 collection 的元素,其中一些主要方法有add、clear、isEmpty、iterator这些。List和Set中的很多实现都实现了这个接口,比如ArrayList、HashSet。
简单来说,Collections简单来说就是对List、Set和Map进行的一些便利的操作。下面列一些常用的方法,通过名字基本就能看出作用,详细介绍请查看API。
addAll(Collection<? super T> c, T... elements)
copy(List<? super T> dest,List<? extends T> src)