diff --git a/4.md b/4.md index 1c41a0ae07b99d78f17175bf24fb6831eae5943e..a477d3c5613e3e04bdeb4f223c7ecb8ee8cff70a 100644 --- a/4.md +++ b/4.md @@ -19,7 +19,7 @@ public int indexOf(Object target) { } ``` -最初`node`为`head`的副本,所以他们都指向相同的`Node`。循环变量·i`从`0`计数到`size-1`。每次在循环中,我们都用`equals`来看看我们是否找到了目标。如果是这样,我们立即返回`i`。否则我们移动到列表中的下一个`Node`。 +最初`node`为`head`的副本,所以他们都指向相同的`Node`。循环变量`i`从`0`计数到`size-1`。每次在循环中,我们都用`equals`来看看我们是否找到了目标。如果是这样,我们立即返回`i`。否则我们移动到列表中的下一个`Node`。 通常我们会检查以确保下一个`Node`不是`null`,但在这里,它是安全的,因为当我们到达列表的末尾时循环结束(假设与列表中`size`与实际节点数量一致)。 @@ -88,7 +88,7 @@ public E remove(int index) { } ``` -`remove`使用了`get`查找和存储`index`处的元素。然后它删除包含它得`Node`。 +`remove`使用了`get`查找和存储`index`处的元素。然后它删除包含它的`Node`。 如果`index==0`,我们再次处理这个特殊情况。否则我们找到节点`index-1`并进行修改,来跳过`node.next`并直接链接到`node.next.next`。这有效地从列表中删除`node.next`,它可以被垃圾回收。