黑马程序员技术交流社区

标题: Collection与Collections有啥区别 [打印本页]

作者: 赵磊    时间: 2011-7-28 05:18
标题: Collection与Collections有啥区别
Collection与Collections有啥区别啊?
作者: 匿名    时间: 2011-7-28 06:29
Collection是个java.util下的接口,它是各种集合结构的父接口。
Collections是个java.util下的类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。。
Collection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。[code]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);    //使用Collections的sort()方法对List进行排序
        for (int i = 0; i < array.length; i++) {   
            System.out.println(list.get(i));   
        }     
    }   
}   [/code]
作者: 匿名    时间: 2011-7-28 08:30
应该说没什么一样的…难道不看JDK帮助文档?
作者: 匿名    时间: 2011-7-28 10:02
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   
    }   
}   


collection: 集合类的上级接口,继承于它的接口主要有Set和List

collections:对collection对象一些操作的静态方法的集合类,如排序、线程同步、搜索等,其实就是一个辅助类,这些方法的返回类型基本上是collection,少数是其他内容。
作者: 匿名    时间: 2011-7-28 10:15
1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式


2、Collections是一个操作集合的工具类,这个工具类提供了大量的方法对集合元素进行排序、查询和修改的炒作,还提供了将集合对象设置为不可变、对集合对象实现同步控制的方法:
下面示范了Collections工具类操作了List集合[code=java]package cn.itcast.heima
import java.util.*;
public class TestSort
{
        public static void main(String[] args)
        {
                ArrayList nums = new ArrayList();
                nums.add(2);
                nums.add(-5);
                nums.add(3);
                nums.add(0);
                //输出:[2, -5, 3, 0]
                System.out.println(nums);
                //将List集合元素的次序反转
                Collections.reverse(nums);
                //输出:[0, 3, -5, 2]
                System.out.println(nums);
                //将List集合元素的按自然顺序排序
                Collections.sort(nums);
                //输出:[-5, 0, 2, 3]
                System.out.println(nums);
                //将List集合元素的按随机顺序排序
                Collections.shuffle(nums);
                //每次输出的次序不固定
                System.out.println(nums);
        }
}[/code]
作者: 匿名    时间: 2011-7-28 10:33
Collection是集合类的上级接口,继承与他的接口主要有Set 和List。另外它是各种集合结构的父接口。
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
作者: 匿名    时间: 2011-7-29 07:37
Collection是个java.util下的接口,它是各种集合结构的父接口。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2