Java对象容器小结

  在程序运行的过程中,很多时候需要将对象暂时存储在一个容器中统一管理,之后需要时再将对象取出。要使用什么样的容器依设计需求而定,可以使用循序有索引的链表(List)结构来存储对象,或是使用不允许重复相同对象的集合(Set)结构,也可以使用“键-值”(Key-Value)存取的Map。

一、List接口

1. ArrayList

使用数组结构实现List数据结构,数组的特性是可以使用索引来快速指定对象的位置,所以对于快速的随机取得对象来说,使用ArrayList可以得到较好的效率。若要从中间做删除或插入对象的动作,会需要移动后段的数组元素以重新调整索引顺序,所以速度上就会慢很多。

2. LinkedList

使用链表来实现List接口,在进行插入与删除动作时有较好的效果,适合用来实现堆栈(stack)与队列(Queue).

 

二、Set接口

1.HashSet

不依put进去的顺序排序,而LinkedHashSet是依据put对象时的顺序排序。

2.TreeSet

依字典顺序排序。

3.EnumSet

依枚举的顺序排序。

 

三、Map接口

Map中的每一个键都是唯一的,不能有重复的键。

1.HashMap

在使用values()所返回的Collection对象,其内含对象之顺序不为当初加入对象之顺序,而使用LinkedHashMap类时,在使用values()所返回的Collection对象,其内含对象之顺序即为当初加入对象之顺序

2.TreeMap

依键的字典顺序来排列插入的对象是TreeMap默认的。

3.EnumMap

EnumMap将根据枚举的顺序来维护对象的排列顺序。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值