`
bingzhen66
  • 浏览: 36626 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

------- 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   
          }   
      }  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics