Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Coudy Hou
JavaGuide
提交
e1ecaa13
J
JavaGuide
项目概览
Coudy Hou
/
JavaGuide
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
JavaGuide
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
e1ecaa13
编写于
8月 10, 2018
作者:
S
Snailclimb
提交者:
GitHub
8月 10, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update Java集合框架常见面试题总结.md
上级
a2eb3f5e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
32 addition
and
12 deletion
+32
-12
Java相关/Java集合框架常见面试题总结.md
Java相关/Java集合框架常见面试题总结.md
+32
-12
未找到文件。
Java相关/Java集合框架常见面试题总结.md
浏览文件 @
e1ecaa13
[
List,Set,Map三者的区别及总结
](
#List,Set,Map三者的区别及总结
)
[
Arraylist与LinkedList区别
](
#Arraylist与LinkedList区别
)
[
ArrayList与Vector区别
](
#ArrayList与Vector区别
)
[
HashMap和Hashtable的区别
](
#HashMap和Hashtable的区别
)
## List,Set,Map三者的区别及总结
<!-- MarkdownTOC -->
1.
[
List,Set,Map三者的区别及总结
](
#list,setmap三者的区别及总结
)
1.
[
Arraylist 与 LinkedList 区别
](
#arraylist-与-linkedlist-区别
)
1.
[
ArrayList 与 Vector 区别(为什么要用Arraylist取代Vector呢?)
](
#arraylist-与-vector-区别(为什么要用arraylist取代vector呢?)
)
1.
[
HashMap 和 Hashtable 的区别
](
#hashmap-和-hashtable-的区别
)
1.
[
HashSet 和 HashMap 区别
](
#hashset-和-hashmap-区别
)
1.
[
HashMap 和 ConcurrentHashMap 的区别
](
#hashmap-和-concurrenthashmap-的区别
)
1.
[
HashSet如何检查重复
](
#hashset如何检查重复
)
1.
[
comparable 和 comparator的区别?
](
#comparable-和-comparator的区别?
)
1.
[
Comparator定制排序
](
#comparator定制排序
)
1.
[
重写compareTo方法实现按年龄来排序
](
#重写compareto方法实现按年龄来排序
)
1.
[
如何对Object的list排序?
](
#如何对object的list排序?
)
1.
[
如何实现数组与List的相互转换?
](
#如何实现数组与list的相互转换?
)
1.
[
如何求ArrayList集合的交集 并集 差集 去重复并集
](
#如何求arraylist集合的交集-并集-差集-去重复并集
)
1.
[
HashMap 的工作原理及代码实现
](
#hashmap-的工作原理及代码实现
)
1.
[
ConcurrentHashMap 的工作原理及代码实现
](
#concurrenthashmap-的工作原理及代码实现
)
1.
[
集合框架底层数据结构总结
](
#集合框架底层数据结构总结
)
1.
[
- Collection
](
#--collection
)
1.
[
1. List
](
#1-list
)
1.
[
2. Set
](
#2-set
)
1.
[
- Map
](
#--map
)
1.
[
集合的选用
](
#集合的选用
)
1.
[
集合的常用方法
](
#集合的常用方法
)
<!-- /MarkdownTOC -->
## <font face="楷体">List,Set,Map三者的区别及总结</font>
-
**List:对付顺序的好帮手**
List接口存储一组不唯一(可以有多个元素引用相同的对象),有序的对象
...
...
@@ -19,14 +39,14 @@
使用键值对存储。Map会维护与Key有关联的值。两个Key可以引用相同的对象,但Key不能重复,典型的Key是String类型,但也可以是任何对象。
##
Arraylist与LinkedList区别
##
<font face="楷体">Arraylist 与 LinkedList 区别</font>
Arraylist底层使用的是数组(存读数据效率高,插入删除特定位置效率低),LinkedList底层使用的是双向循环链表数据结构(插入,删除效率特别高)。学过数据结构这门课后我们就知道采用链表存储,插入,删除元素时间复杂度不受元素位置的影响,都是近似O(1)而数组为近似O(n),因此当数据特别多,而且经常需要插入删除元素时建议选用LinkedList.一般程序只用Arraylist就够用了,因为一般数据量都不会蛮大,Arraylist是使用最多的集合类。
##
ArrayList与Vector 区别(为什么要用Arraylist取代Vector呢?)
##
<font face="楷体">ArrayList 与 Vector 区别(为什么要用Arraylist取代Vector呢?)</font>
Vector类的所有方法都是同步的。可以由两个线程安全地访问一个Vector对象、但是一个线程访问Vector
,代码要在同步操作上耗费大量的时间。Arraylist不是同步的,所以在不需要同步时建议使用Arraylist。
##
HashMap和Hashtable的区别
##
<font face="楷体">HashMap 和 Hashtable 的区别</font>
1.
HashMap是非线程安全的,HashTable是线程安全的;HashTable内部的方法基本都经过synchronized修饰。
2.
因为线程安全的问题,HashMap要比HashTable效率高一点,HashTable基本被淘汰。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录