1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-08-01 16:28:03 +08:00

Compare commits

..

No commits in common. "4acc22c947f40a94a14775c5eb5854df4dc7f1c0" and "94a0c4ceb768412e12f9e15bee5d99a36bd9dc84" have entirely different histories.

2 changed files with 2 additions and 2 deletions

View File

@ -729,7 +729,7 @@ private void grow(int minCapacity) {
**我们再来通过例子探究一下`grow()` 方法:**
- 当 `add` 第 1 个元素时,`oldCapacity` 为 0经比较后第一个 if 判断成立,`newCapacity = minCapacity`(为 10)。但是第二个 if 判断不会成立,即 `newCapacity` 不比 `MAX_ARRAY_SIZE` 大,则不会进入 `hugeCapacity` 方法。数组容量为 10`add` 方法中 return true,size 增为 1。
- 当 `add` 第 11 个元素进入 `grow` 方法时,`newCapacity` 为 15`minCapacity`(为 11第一个 if 判断不成立。新容量没有大于数组最大 size不会进入 `hugeCapacity` 方法。数组容量扩为 15add 方法中 return true,size 增为 11。
- 当 `add` 第 11 个元素进入 `grow` 方法时,`newCapacity` 为 15`minCapacity`(为 11第一个 if 判断不成立。新容量没有大于数组最大 size不会进入 huge`C`apacity 方法。数组容量扩为 15add 方法中 return true,size 增为 11。
- 以此类推······
**这里补充一点比较重要,但是容易被忽视掉的知识点:**

View File

@ -83,7 +83,7 @@ head:
`NavigableMap` 接口提供了丰富的方法来探索和操作键值对:
1. **定向搜索**: `ceilingEntry()`, `floorEntry()`, `higherEntry()``lowerEntry()` 等方法可以用于定位大于等于、小于等于严格大于、严格小于给定键的最接近的键值对。
1. **定向搜索**: `ceilingEntry()`, `floorEntry()`, `higherEntry()``lowerEntry()` 等方法可以用于定位大于、小于、大于等于、小于等于给定键的最接近的键值对。
2. **子集操作**: `subMap()`, `headMap()``tailMap()` 方法可以高效地创建原集合的子集视图,而无需复制整个集合。
3. **逆序视图**:`descendingMap()` 方法返回一个逆序的 `NavigableMap` 视图,使得可以反向迭代整个 `TreeMap`
4. **边界操作**: `firstEntry()`, `lastEntry()`, `pollFirstEntry()``pollLastEntry()` 等方法可以方便地访问和移除元素。