黑马程序员技术交流社区

标题: Java集合框架的总结 [打印本页]

作者: 裙下之臣    时间: 2014-10-18 14:19
标题: Java集合框架的总结
    自己学习JAVA的一点小总结,与大家分享一下
Java集合框架中的接口和实现类     
    Collection - 基接口
         Set       - "集"接口
             SortedSet - 排序"集"接口
         List - 线性表接口
    Map       - 散列表接口
         SortedMap - 对键(key)进行排序的散列表接口
      
       Set接口的实现类是HashSet
       SortedSet接口的实现类是TreeSet
       List接口的实现类是ArrayList和LinkedList
       Map接口的实现类是Hashtable和HashMap
       SortedMap接口的实现类是TreeMap
   ----------------------------------------------------
区分Set、List和Map     
      1  Set集合不能存储重复的元素,并且元素不是按次序存放的。
     2  List集合称为线性表,其元素是按照次序存放的,每一个元素都有一个指定的位置,List集合中的元素是可以重复的
     3 Map集合称为散列表,元素是按照键值对的方式存储的,Map集合中的元素是没有次序零散存放的,可以通过键方便的获取值
区分ArrayList类和LinkedList类     
      1 ArrayList类使用可变数组存储元素,而LinkedList类使用双向的循环列表来存储元素。
     2 在数据量较大时,ArrayList类在查询时较快,而插入和删除数据较慢;而LinkedList类在查询元素时较慢,插入和删除元素时较快
区分Hashtanble和HashMap类
      1 出身不同,Hashtable类是从JDK1.1开始就提供的集合类,具有一些旧的、不常使用的操作集合的方法。 从JDK1.2开始,Hashtable并入了Java集合框架,也实现了Map接口。而HashMap类是在JDK1.2才出现在Java集合框架中的。
     2 行为不同
       HashMap可以使用null作为键,也可以使用null作为值,而Hashtable不能使用null作为键和值。
       Example:Map m1=new HashMap();
         m1.put(null,null); //通过     
         Map m2=new Hashtable();
         m2.put(null,null); //不通过     
     3 Hashtable类能够安全使用在多线程环境下,Hashtable类中的方法是同步的方法,相比HashMap类,Hashtable类效率稍低,而HashMap不适合于使用在多线程环境下。


作者: nerveva2000    时间: 2014-10-18 14:57
嗯,总结的很层次,值得收藏
作者: 就是现在    时间: 2014-10-18 16:27
不错哦!
作者: falonsokaka914    时间: 2014-10-18 23:04
恩, 收藏了,不懂的时候拿出来看看
作者: Eric1225    时间: 2014-10-18 23:16
不错  不错 顶起
作者: nyk    时间: 2014-10-22 22:53
简单明了
作者: winkyqin    时间: 2014-10-23 14:12
看楼主总结得不错!学习学习!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2