【Java面试题】38 Collection 和 Collections的区别

Collection是集合类的一个顶级接口,其直接继承接口有List与Set

而Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。

 

Collection是个Java.util下的接口,它是各种集合结构的父接口。

Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。

Collection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。

Collection   
├List   
│├LinkedList   
│├ArrayList   
│└Vector   
│ └Stack   
└Set 

collections 此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。 如果为此类的方法所提供的 collection 或类对象为 null,则这些方法都会抛出 NullPointerException

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[i]));   
        }   
        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   
    }   
}  

 

posted @ 2017-03-28 21:48  暖阳g  阅读(2106)  评论(0编辑  收藏  举报