java集合容器

1.分类: Collection接口:List接口继承(可重复):ArrayList(大小自动调整、有序随机访问很有效、结尾新增高效)、LinkedList(参照链表、中间插入更高效)

                                  Set接口继承(不可重复):HashSet实现(用Hash码[相同元素哈希吗一样只存一个]存储无重复元素、无序)

 

            Map接口:类HashMap实现(Key无重复,若重复,后面的覆盖前面的)

                          类TreeMap实现(以树结构存储,自动按照key排序)

2,详解:一:Collection接口:

           (1).ArrayList:a.大小随新增元素而变(系统预设可存10个元素);b.非结尾处新增元素,后面的元素都后移一位。c.任何object都可作为其对像,基本类型不可。

           (2).LinkedList:应用节点Node数据结构,不在结尾处增删元素更快速;

           (3).HashSet:应用于简单快速、检索相关的操作。(无序、无重复、)

           (4).Iterator:元素迭代器,在ArrayList和LinkedList中都提供方法iterator(),用来返回一个指定类型的元素迭代器Iterator对集合的引用,用来对各元素按次序遍历。

      boolean hasNext():如果仍有元素,返回真,否则返回假

      E next():返回下一个元素

      void remove():删除迭代器当前指向集合中的元素

        二:Map接口

           (1)key与value必须是对象,而不允许是基本数据类型

           (2)key在一个集合中必须具有唯一性,即key不允许有重复,但允许有重复的value出现

           (3) 对于Map的KeySet()方法返回类型是Set,而Values()的返回类型是Collection。(应用性比较广)

        1、HashMap:HashMap实现Map接口,它利用Hash表结构,因而集合中的元素不按次序排列。注意:系统预设HashMap的元素数目为16,也可以自己指定HashMap储               存的元素数目。由于HashMap不支持迭代器,可以利用keySet()方法,以set引用返回HashMap集合中所有的key,再利用元素迭代器对元素进行遍历,对元素的遍历,             可以调用values()实现

        2、TreeMap:TreeMap与HashMap相似,实现了Map接口,所有元素都是key-value的映射。两者之间的不同点在于

          (1)TreeMap是应用于Tree数据结构储存key-value元素,而HashMap利用Hash表结构

          (2)TreeMap集合中的各个映射单元是按照key自动排序的,而HashMap集合中的各映射单元是无序的

          (3)TreeMap集合更加有效利用存储空间,而HashMap必须指定或者使用预设映射单元存储空间

        

posted @ 2017-05-26 18:11  媛猿  阅读(206)  评论(0编辑  收藏  举报