黑马程序员技术交流社区

标题: 【总结】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