Java基础—集合框架

java集合最顶层有两个接口,分别是Collection和Map。Collection表示一组纯数据,Map表示一组纯数据,如下图:

 

与Collection有关的三大集合:

  • list

 list集合最常用的是ArrayList和LinkedList两个集合类。

ArrayList是容量可以改变的非线性安全集合,内部实现数组进行存储,支持对元素的快速访问,但是数组的缺点嘛,大家都懂的,删除和插入又慢又麻烦。

LinkedList本质是双向链表,这个大家也懂,删除和插入是比数组快了,但是随机访问依然很麻烦(想起用c写的链表的指针xjb乱飞)。除此之外,lInkedList还实现了接口Deque,这个接口同时具备队列和栈的性质。LinkedList有3个重要的成员:size,first,last。size是双向链表的中节点的个数。first和last分别指向第一个和最后一个节点的引用。LinkedList的优点是可以将零散的内存单元通过附加指引的方式关联起来,形成按链路查找的线性结构,内存利用率高。

  • queue

 队列集合,先进先出,阻塞队列经常用于数据缓冲。

  • set

 set不允许出现重复元素的集合,常用HashSet,TreeSet和LinkedHashSet。

map集合:

(图片源于http://www.importnew.com/16658.html

map是以key-value键值对作为存储元素实现的哈希结构,key是唯一的(啊这个很重要 心痛),value可以重复。下面讲的Hashtable和HashMap,ConcurrentHashMap很重要。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值