From 81d2f39317fbdbbfa0a7539727ad5e0932476ed5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B9=BB=E5=A2=83=E4=BA=91=E5=9B=BE?=
<31980412+illusorycloud@users.noreply.github.com>
Date: Fri, 1 Mar 2019 16:31:38 +0800
Subject: [PATCH] =?UTF-8?q?Update=20Java=E9=9B=86=E5=90=88=E6=A1=86?=
=?UTF-8?q?=E6=9E=B6=E5=B8=B8=E8=A7=81=E9=9D=A2=E8=AF=95=E9=A2=98=E6=80=BB?=
=?UTF-8?q?=E7=BB=93.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
fix:格式调整
---
Java相关/Java集合框架常见面试题总结.md | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/Java相关/Java集合框架常见面试题总结.md b/Java相关/Java集合框架常见面试题总结.md
index d18c68e0..cb0bd1fe 100644
--- a/Java相关/Java集合框架常见面试题总结.md
+++ b/Java相关/Java集合框架常见面试题总结.md
@@ -40,7 +40,7 @@
## Arraylist 与 LinkedList 区别
-Arraylist底层使用的是数组(存读数据效率高,插入删除特定位置效率低),LinkedList底层使用的是双向循环链表数据结构(插入,删除效率特别高)。学过数据结构这门课后我们就知道采用链表存储,插入,删除元素时间复杂度不受元素位置的影响,都是近似O(1)而数组为近似O(n),因此当数据特别多,而且经常需要插入删除元素时建议选用LinkedList.一般程序只用Arraylist就够用了,因为一般数据量都不会蛮大,Arraylist是使用最多的集合类。
+Arraylist底层使用的是数组(存读数据效率高,插入删除特定位置效率低),LinkedList 底层使用的是双向链表数据结构(插入,删除效率特别高)(JDK1.6之前为循环链表,JDK1.7取消了循环。注意双向链表和双向循环链表的区别:); 详细可阅读JDK1.7-LinkedList循环链表优化。学过数据结构这门课后我们就知道采用链表存储,插入,删除元素时间复杂度不受元素位置的影响,都是近似O(1)而数组为近似O(n),因此当数据特别多,而且经常需要插入删除元素时建议选用LinkedList.一般程序只用Arraylist就够用了,因为一般数据量都不会蛮大,Arraylist是使用最多的集合类。
## ArrayList 与 Vector 区别
Vector类的所有方法都是同步的。可以由两个线程安全地访问一个Vector对象、但是一个线程访问Vector
@@ -76,7 +76,8 @@ Hashtable和HashMap有几个主要的不同:线程安全以及速度。仅在
**==与equals的区别**
1. ==是判断两个变量或实例是不是指向同一个内存空间 equals是判断两个变量或实例所指向的内存空间的值是不是相同
-2. ==是指对内存地址进行比较 equals()是对字符串的内容进行比较3.==指引用是否相同 equals()指的是值是否相同
+2. ==是指对内存地址进行比较 equals()是对字符串的内容进行比较
+3. ==指引用是否相同 equals()指的是值是否相同
## comparable 和 comparator的区别
- comparable接口实际上是出自java.lang包 它有一个 compareTo(Object obj)方法用来排序