Collection 和 Collections 的区别(Array和Arrays区别)

来源:互联网 发布:macbook卸载windows 编辑:程序博客网 时间:2024/05/17 06:28

Collection 和 Collections 的区别是在面试过程中经常被问到的知识,两个单词虽然只有一个s的不同,但含义和用法却是天差地别:

首先,Collection 是个 java.util 下的接口 ,它是各种集合结构的父接口。继承与他的接口主要有 Set  和 List。学习Java的人是必须对Collection了如指掌的,因为不管以后你是做服务器开发还是做安卓,集合都是必须要掌握的,最好能弄懂他们的源码,现在看看集合的分类和Collection的分支结构:

1.类集框架最大的接口:CollectionMapIteratorEnumeration

2.Collection:存放单值

   |- List允许有重复内容,有序

       |- ArrayList:异步处理,新的操作类,非线程安全。

       |- Vector:同步处理,旧的操作类,线程安全。支持Enumeration输出

   |- Set不允许有重复内容,无序,靠hashCoke()equals()进行重复的严重

       |- HashSet:无序存放

       |-TreeSet:有序存放,安Comparable排序

3.Map:存放一对值

   |- HashMap:新的类,异步处理,非线程安全,允许有null

   |- Hashtable:旧的类,同步处理,线程安全,不允许有null

        |-Properties:属性操作类

   |- TreeMap:有序排列,按key排序,根据Comparable指定排序规则

4.Iterator:

   |- 迭代输出,依靠Collection接口中的iterator方法输出,是新的输出标准

5.Enumeration:旧的输出标准

2,3,4是我们做开发时经常用到的,也是必须要掌握的,不少公司在面试的时候都会热衷于问集合。


Collections 是个 java.util 下的专用静态类 ,它包含有各种有关集合操作的静态方法 。提供一系列静态方法实现对各种集合的搜索、排序、线程安全化 等操作(这个自己看下API文档,讲的十分清楚,再次不再过多阐述,主要我也是菜鸟,怕说错了误人子弟)。


说到这里值得一提的是Array 与Arrays 的区别,其实跟Collection 和 Collections非常类似:

1 .数组类 Array ,是 Java 中最基本的一个存储结构。提供了动态创建和访问 Java 数组的方法 。其中的元素的类型必须相同 。效率高,但容量固定且无法动态改变。 它无法判断其中实际存有多少元素 , length 只是告诉我们 array 的容量 。

2 、 Arrays 类,此静态类专门用来操作 array ,提供搜索、排序、复制等静态方法。 equals() :比较两个 array 是否相等。 array 拥有相同元素个数,且所有对应元素两两相等。 sort() :用来对 array 进行排序。 binarySearch() :在排好序的 array 中寻找元素。



0 0
原创粉丝点击