COLLECTION总结
2015-09-17 14:18
190 查看
[code]Collection |--List 有序,可重复(存储顺序和取出顺序一致) |--ArrayList 底层数据结构是数组,查询快,增删慢。 线程不安全,效率高 |--Vector 底层数据结构是数组,查询快,增删慢。 线程安全,效率低 |--LinkedList 底层数据结构是链表,查询慢,增删快。 线程不安全,效率高 |--Set 无序,唯一(存储顺序和取出顺序不一致) |--HashSet 底层数据结构是哈希表。 如何保证元素唯一性的呢? 依赖两个方法:hashCode()和equals() 开发中自动生成这两个方法即可 |--LinkedHashSet 底层数据结构是链表和哈希表 由链表保证元素有序 由哈希表保证元素唯一 |--TreeSet 底层数据结构是红黑树。 如何保证元素排序的呢? 自然排序 比较器排序 如何保证元素唯一性的呢? 根据比较的返回值是否是0来决定
4:针对Collection集合我们到底使用谁呢?(掌握)
唯一吗?
是:Set
排序吗?
是:TreeSet
否:HashSet
如果你知道是Set,但是不知道是哪个Set,就用HashSet。
[code] 否:List 要安全吗? 是:Vector 否:ArrayList或者LinkedList 查询多:ArrayList 增删多:LinkedList 如果你知道是List,但是不知道是哪个List,就用ArrayList。 如果你知道是Collection集合,但是不知道使用谁,就用ArrayList。 如果你知道用集合,就用ArrayList。
5:在集合中常见的数据结构(掌握)
ArrayXxx:底层数据结构是数组,查询快,增删慢
LinkedXxx:底层数据结构是链表,查询慢,增删快
HashXxx:底层数据结构是哈希表。依赖两个方法:hashCode()和equals()
TreeXxx:底层数据结构是二叉树。两种方式排序:自然排序和比较器排序
相关文章推荐
- jquery插件开发:
- laravel 分页 说明
- netty5源码分析(2)--学习笔记
- CodeForces #Round 320 (div 1) 简要记录
- ZOJ 3892 Available Computation Sequence 区间dp
- tableView第一次点击无效,第二次点击响应第一次,第三次响应第二次
- 第二章 集腋成裘
- jquery mobile常用的data-role类型 data-icon data-iconpos
- vsftpd配置文件详解
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- Win10/UWP开发—使用Cortana语音指令启动前台App
- errno.h头文件介绍
- Oracle数据库的分页使用
- poj 1185 炮兵阵地 状态压缩dp
- 【.Net码农】基于jquery的$.ajax async使用
- 宏函数和函数的区别
- 哪些内容会被新闻源惩罚呢?
- Windows远程桌面连接ubuntu 14.04图解设置教程
- 通过Java Api与HBase交互(转)
- Oracle中的表构造导出到word Sql语句