A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© adamjy 中级黑马   /  2014-4-21 22:05  /  618 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 adamjy 于 2014-4-22 12:39 编辑

以下是对java中集合的总结,以及使用时的注意事项,欢迎大家补充。。

a、 Collection和 Collections的关系:
       Collection是一个集合的接口,Collection接口在Java类库中有很多具体的实现,List、Set、Queue等。Collection
       接口是为各种具体的实现其的集合提供了统一操作方式。
       Collections是一个包装类。它包含有各种有关集合操作的静态多态方法。Collections类不能实例化,就像一个工具类,
       服务于Java的Collection框架。

b、List和Set的异同点:
     相同:List和Set接口都继承自Collection。
     不同:List允许集合内元素重复,而Set则不允许;List中的元素是有序的,而Set中的元素是无序的,List中的元素可通过
     get(i)方法获得。

c、Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个 value。Map的内容可以被当作一
     组key集合,一组value集合,或者一组key-value映射。Map中的常用类如下,
   
     Hashtable类:Hashtable继承Map接口,实现一个key-value映射的哈希表。任何非空(non-null)的对象都可作为key
     或者value。Hashtable通过initial capacity和load factor两个参数调整性能。通常缺省的load factor 0.75较好地实现了
     时间和空间的均衡。增大load factor可以节省空间但相应的查找时间将增大,这会影响像get和put这样的操作。Hashtable
     是同步的。
   
     HashMap类:HashMap和Hashtable类似,不同之处在于HashMap是非同步的,并且允许null value和null key。但是
     将HashMap视为Collection时(values()方法可返回Collection),其迭代子操作时间开销和HashMap 的容量成比例。
     因此,如果迭代操作的性能相当重要的话,不要将HashMap的初始化容量设得过高,或者load factor过低。
   
     WeakHashMap类:WeakHashMap是一种改进的HashMap,它对key实行“弱引用”,如果一个key不再被外部所引用,
     那么该key可以被GC回收。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马