没有合适的资源?快使用搜索试试~ 我知道了~
java中集合的用法与区别.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 134 浏览量
2022-06-09
20:16:03
上传
评论
收藏 24KB DOCX 举报
温馨提示
试读
15页
java中集合的用法与区别
资源推荐
资源详情
资源评论
Collecon , List , Set 和 Map 用法和区别
Collection 接口的接口 对象的集合
├ List 子接口 按进入先后有序保存 可重复
│├ LinkedList 接口实现类 链表 插入删除 没有同步 线程不安
全
│├ ArrayList 接口实现类 数组 随机访问 没有同步 线程不安
全
│└ Vector 接口实现类 数组 同步 线程安全
│ └ Stack
└ Set 子接口 仅接收一次,并做内部排序
├ HashSet
│ └ LinkedHashSet
└ TreeSet
对于 List ,关心的是顺序, 它保证维护元素特定的顺序(允许有相同元素),
使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在
List 中的位置,类似于数组下标)来访问 List 中的元素。
对于 Set ,只关心某元素是否属于 Set (不 允许有相同元素 ),而不关心它
的顺序。
Map 接口 键值对的集合
├ Hashtable 接口实现类 同步 线程安全
├ HashMap 接口实现类 没有同步 线程不安全
│├ LinkedHashMap
│└ WeakHashMap
├ TreeMap
└ IdentifyHashMap
对于 Map ,最大的特点是键值映射,且为一一映射,键不能重复,值可以,
所以是用键来索引值。 方法 put(Object key, Object value) 添加一个“值” (
想要得东西 ) 和与“值”相关联的“键” (key) ( 使用它来查找 ) 。方法
get(Object key) 返回与给定“键”相关联的“值”。
Map 同样对每个元素保存一份,但这是基于 " 键 " 的, Map 也有内置的排序,
因而不关心元素添加的顺序。如果添加元素的顺序对你很重要,应该使用
LinkedHashSet 或者 LinkedHashMap.
对于效率, Map 由于采用了哈希散列,查找元素时明显比 ArrayList 快。
但我有一个自己的原则想法:复杂的问题简单化。即把很多晦涩难懂的问题用
通俗直白的话,一下子就看明白了,而不是大段大段的写。不得不指出的是现
在部分所谓的“专家”往往把简单的问题复杂化,让人看了生畏,甚至望而却步,
以此来显示他的高深莫测,当然也可能有别的用意,那我就不得而知了。
更为精炼的总结:
Collection 是对象集合, Collection 有两个子接口 List 和 Set
List 可以通过下标 (1,2..) 来取得值,值可以重复
而 Set 只能通过游标来取值,并且值是不能重复的
ArrayList , Vector , LinkedList 是 List 的实现类
ArrayList 是线程不安全的, Vector 是线程安全的,这两个类底层都是由数
组实现的
LinkedList 是线程不安全的,底层是由链表实现的
Map 是键值对集合
HashTable 和 HashMap 是 Map 的实现类
HashTable 是线程安全的,不能存储 null 值
HashMap 不是线程安全的,可以存储 null 值
所以,如果你是想在一个很短的时间来弄明白这些问题,比如 1~2 分钟。没
有也不想花大量时间于此,那么建议你现在就可以收兵走人了。
如果你想对此做一个详细的了解,请继续看下去。
剩余14页未读,继续阅读
资源评论
oligaga
- 粉丝: 52
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功