java的集合框架

    什么是集合。通常情况下,把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合,比如全体中国人,比如所有月份,等等。
    那么什么是集合框架。集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。为什么要用这个概念呢?可以想个例子。如何存储每天新闻信息?要知道每天的新闻总数是不变的,太少会浪费空间,太多空间不足。还有如果让你做个教务系统,如何存储课程的代码和课程信息,并且能够通过代码便携地获得课程信息?要知道存的时候并不知道程序运行时需要多少对象。当然,并不是说我们用其他途径解决不了上面的问题。但是“集合框架”的提出,为这类问题的解决提供了标准又简单的途径。
    任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。

   java的集合框架 

 

    java中集合类定义主要是java.util.*包下,常用的集合定义了三大接口
分别是:Collection接口下的Set和List接口;Map接口
    Collection接口存储一组不唯一,无序的对象
       List接口存储一组不唯一,有序(先进先出)的对象

              图示:       java的集合框架

       Set接口存储一组唯一,无序的对象

          图示:         java的集合框架

    Map接口存储一组键值对,提供key到value的映射。

 

             图示:             java的集合框架


    List中有ArrayList与LinkedList,前者实现了长度可以变化的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高。后者采用链表存取的方式。插入和删除元素的效率较高。

 

 

方法总结:

java的集合框架

 

     java的集合框架

 

   集合类的对比(很多情况下两者可以互换,但也有区别):
   Vector和ArrayList:
          前者线程安全,后者重速度轻安全,线程非安全
          长度需增长时,前者默认增长一倍,后者增长50%。
 
   Hashtable和HashMap:
          前者继承自Dictionary类,后者实现Map接口
          前者线程安全,后者线程非安全
          前者不允许null值,后者允许。