Java----集合类

    集合collection之前,我们先分清三个概念:

                1:colection 集合,用来表示任何一种数据结构

                2:Collection 集合接口,指的是 java.util.Collection接口,是 Set、List 和 Queue 接口的超类接口

                3:Collections 集合工具类,指的是 java.util.Collections 类。


    集合有4种基本形式,其中前三种的父接口是Collection。

                1:List 关注事物的索引列表

                2:Set 关注事物的唯一性

                3:Queue 关注事物被处理时的顺序

                4:Map 关注事物的映射和键值的唯一性


=============================================================================================


   一:List接口

      List 关心的是索引,与其他集合相比,List特有的就是和索引相关的一些方法:get(int index) 、 add(int index,Object o) 、 indexOf(Object o) 。

      ArrayList 可以将它理解成一个可增长的数组,它提供快速迭代和快速随机访问的能力。

      LinkedList 中的元素之间是双链接的,当需要快速插入和删除时LinkedList成为List中的不二选择。

      Vector 是ArrayList的线程安全版本,性能比ArrayList要低,现在已经很少使用

      大家都知道ArrayList和LinkedList的大致区别: 
       1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
       2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 
       3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 

 

    二:Map接口

         Map关心的是唯一的标识符。他将唯一的键映射到某个元素。当然键和值都是对象。(键不允许重复,每个键最多能映射一个值.

         HashMap 当需要键值对表示,又不关心顺序时可采用HashMap。(键和值都允许为空,不是多线程同步

         Hashtable 注意Hashtable中的t是小写的,它是HashMap的线程安全版本,现在已经很少使用。(键和值都不允许为空,是多线程同步

         LinkedHashMap 当需要键值对,并且关心插入顺序时可采用它。

         TreeMap 当需要键值对,并关心元素的自然排序时可采用它。

          注:在不需要有序存储时,可以采用高效的HashMap;如果需要有序存储,可以采用TreeMap,但是由于TreeMap是以红黑树进行存储的,需要比HashMap更多的空间和时间的开销.


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值