集合框架分析

集合框架分析

Collection:List列表、Set集、Map:Hashtable,HashMap,TreeMap。

集合框架

一、Collections:(单列集合)

1.List集合:元素有序、有重复、有索引。

  • ArraysList:线程不安全;查询快、增删慢。(底层数据结构是数组结构
  • Vector:线程安全,但速度慢,已被ArrayList替代。(底层数据结构是数组结构
  • LinkedList:线程不安全;增删快、查询慢。(底层数据结构是列表结构

2.Set集合:无重复、无索引。

  • HashSet:线程不安全,增删快。HashSet是基于HashMap实现的,底层都是使用的HashMap中方法,是通过数组和链表来实现对数据的存储(1.8加入了红黑树,当链表过长的时候就使用红黑树)。
  • TreeSet:线程不安全。TreeSet是基于TreeMap实现的,但是它是有序的。它的实现用到了红黑树这种数据结构,所以,当需要向TreeSet中存储对象时,这个对象必须实现Comparable接口,并复写里面的comparaTo方法,TreeSet就是根据这个来排序的。或者在新建TreeSet对象的时候,传入一个特定的比较器,这样它就知道根据什么进行排序了。

二、Map:(双列集合)

  • HashMap: 线程安全,速度快。底层是哈希表数据结构。是同步的。不允许null作为键,允许null作为值。
  • TreeMap: 可以用来对Map集合中的键进行排序。
  • Hashtable: 线程安全,速度快。底层是哈希表数据结构。是同步的。不允许null作为键,允许null作为值。
    — Properties:用于配置文件的定义和操作,使用频率非常高,同时键和值都是字符串。

三、Java库中的具体集合:

集合类型描述
ArrayList一种可以以动态增长和缩进的引索序列
LinkedList一种可以在任何位置进行高效地插人和删除操作的有序序列
ArrayDeque一种用循环数组实现的双端队列
HashSet一种没有重复元素的无序集合
TreeSet一种有序集
EnumSet一种包含枚举类型值的集
LinkedHashSet一种可以记住元素插人次序的集
PriorityQueue一种允许高效删除最小元素的集合
HashMap一种存储键/值关联的数据结构
TreeMap一种键值有序排列的映射表
EnumMap一种键值属于枚举类型的映射表
LinkedHashMap一种可以记住键/值项添加次序的映射表
WeakHashMap一种其值无用武之地后可以被垃圾回收器回收的映射表
IdentityHashMap一种用==而不是用equals比较键值的映射表
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值