Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 089c907

Browse files
Merge pull request Snailclimb#119 from xianlaioy/patch-1
randomAccess 拼写错误,markdown语法错误
2 parents 7be08ff + ec53d59 commit 089c907

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

‎面试必备/美团-进阶篇.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -169,14 +169,14 @@ ArraysList 实现了 RandomAccess 接口, 而 LinkedList 没有实现。为什
169169

170170
**下面再总结一下 list 的遍历方式选择:**
171171

172-
- 实现了RadmoAcces接口的list,优先选择普通for循环 ,其次foreach,
173-
- 未实现RadmoAcces接口的ist, 优先选择iterator遍历(foreach遍历底层也是通过iterator实现的),大size的数据,千万不要使用普通for循环
172+
- 实现了RandomAccess接口的list,优先选择普通for循环 ,其次foreach,
173+
- 未实现RandomAccess接口的ist, 优先选择iterator遍历(foreach遍历底层也是通过iterator实现的),大size的数据,千万不要使用普通for循环
174174

175175
> Java 中的集合这类问题几乎是面试必问的,问到这类问题的时候,HashMap 又是几乎必问的问题,所以大家一定要引起重视!
176176
177177
### 3.2 HashMap的底层实现
178178

179-
####1 JDK1.8之前
179+
####1 JDK1.8之前
180180

181181
JDK1.8 之前 HashMap 底层是 **数组和链表** 结合在一起使用也就是 **链表散列****HashMap 通过 key 的 hashCode 经过扰动函数处理过后得到 hash 值,然后通过 `(n - 1) & hash` 判断当前元素存放的位置(这里的 n 指的时数组的长度),如果当前位置存在元素的话,就判断该元素与要存入的元素的 hash 值以及 key 是否相同,如果相同的话,直接覆盖,不相同就通过拉链法解决冲突。**
182182

@@ -217,7 +217,7 @@ static int hash(int h) {
217217
![jdk1.8之前的内部结构](https://user-gold-cdn.xitu.io/2018/3/20/16240dbcc303d872?w=348&h=427&f=png&s=10991)
218218

219219

220-
###2 JDK1.8之后
220+
#### 2 JDK1.8之后
221221

222222
相比于之前的版本, JDK1.8之后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为8)时,将链表转化为红黑树,以减少搜索时间。
223223

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /