黑马程序员技术交流社区
标题: 【总结】Collections和Collection的区别 [打印本页]
作者: 徐升兴 时间: 2012-10-24 14:16
标题: 【总结】Collections和Collection的区别
本帖最后由 徐升兴 于 2012-10-28 07:25 编辑
Collection:集合框架中的一个顶层接口,定义了单列集合的共性方法。他有两个常用的子接口:list和set。
list:对元素都有定义索引,有序的,可以重复元素。
set:无序的,不可以重复元素。
Collections:集合框架中的一个工具类。该类中的方法都是静态的。提供的方法中可以对liet集合进行排序,二分查找等方法。通常常用的集合都是线程不安全的,因为要提高效率。如果多线程操作这
些集合时,可以通过该工具类中的同步方法,将线程不安全的集合转换成安全的。
ps:欢迎同学们补充。想要考试,技术分不够,后悔当初来论坛太少。。。
作者: hello_world! 时间: 2012-10-24 14:28
1、java.util.Collection是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
2、java.util.Collections是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。
Java代码
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class TestCollections {
public static void main(String args[]) {
//注意List是实现Collection接口的
List list = new ArrayList();
double array[] = { 112, 111, 23, 456, 231 };
for (int i = 0; i < array.length; i++) {
list.add(new Double(array));
}
Collections.sort(list);
for (int i = 0; i < array.length; i++) {
System.out.println(list.get(i));
}
// 结果:23.0 111.0 112.0 231.0 456.0
}
}
作者: 范贞亮 时间: 2012-10-24 14:29
Collection接口:处理对象集合的根接口,Set规则集和List线性表为其子接口,Set的实例存储一组互不相同的元素,List的实例用来存储一组顺序排列的元素;Map的实例存储一组对象,每个对象都要一个关联的键值。要运用Set和List必须先实现Collection接口。
Collections类包含管理集合与图,创建同步集合,创建只读集合类等静态方法,Collections类大多数方法都用来处理线性表。该类中定义了一个空的规则集,一个空的线性表,一个空图。Collections类提供了六个集合包装同步版本的静态方法,同步化之后的集合可以安全地被多线程并发访问或修改。六个静态方法为:synchronizedCollection(Collection c),synchronizedList(List list),synchronizedSet(Set set),synchronizedSortedMap(SortedMap m)和synchronizedSorted(SortedSet s)
Collection接口和Map接口中的方法都没有提供线程安全保障。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |