40.黑马程序员-Collections与Collection的区别

来源:互联网 发布:淘宝账号出售 编辑:程序博客网 时间:2024/05/21 23:33

------- android培训、java培训、期待与您交流! ----------

  • Collections在表面看来与Collection很像。
  • 区别:
    • 1,Collection是java.util下的接口,它是集合结构(只包含Set和List)的父接口。
    • Collections是java.util下的类,它包含有各种有关集合操作的静态方法。
    • 2,Collection是层次结构的根结口。子接口包括Set和List。Collection表示一组对象,这些对象也称为Collection的元素。
      • List(ArrayList、LinkedList、Vector等)中允许包括重复元素,而Set(HashSet、TreeSet)中不允许(equals不同)。
      • ArrayList(数组)、 Vector(数组)、TreeSet(TreeMap实现、默认自然顺序、Iterator取出) 是有序的,,,,, LinkedList(指针链接)、HashSet(hashcode实现、与输入顺序不一致)是无序的。
      • JDK不提供Collection的任何直接实现,而是提供更具体的子接口(Set和List)实现。此接口通常用来传递collection,并在需要最大普遍性的地方操作这些collection。
    • Collections是直接继承自Object。
      • Collections可以说是针对集合类的一个帮助类,提供了一系列静态方法实现对各种集合的搜索、排序;线程安全化等操作(操作集合或返回集合),相当于Array的帮助类Arrays.例如想对重复元素的List进行排序。
    • 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       }   }  

原创粉丝点击