Java中Collection和Collections的区别

来源:互联网 发布:软件测试的薪资 编辑:程序博客网 时间:2024/05/22 06:27
Java中Collection和Collections的区别 
1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
 Collection  
├List  
│├LinkedList  
│├ArrayList  
│└Vector  
│ └Stack  
└Set 
2、java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。
例如以下Java代码使用工具类collections实现排序功能,当然还有很多其他功能

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[] = {11,2,323,56,231,54,-3,-5};          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));          }      }  }  
结果如下所示:



我们如果有jdk源码(需要手动导入到eclipse中,文件名为src.zip),我们就可以看到collections的各种静态方法的实现,如下图所示:
下图就是collections中的无参构造器,而且是私有的,唯一的,这就是不能不能实例化Collections的原因



下面是一个排序方法和置换元素的方法之一(因为各个方法都有重载)
排序方法之一:

交换元素方法之一:






1 0
原创粉丝点击