回答編集履歴
3
コード追記
test
CHANGED
@@ -1,6 +1,28 @@
|
|
1
1
|
そのコード中には表れません。
|
2
2
|
|
3
|
-
一応[ArrayListのコード](https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/ArrayList.java#L613)を読めばどこで呼び出しているかは書いてありますが
|
3
|
+
一応[ArrayListのコード](https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/ArrayList.java#L613)を読めばどこで呼び出しているかは書いてありますが:
|
4
|
+
|
5
|
+
> ```java
|
6
|
+
> public boolean remove(Object o) {
|
7
|
+
> final Object[] es = elementData;
|
8
|
+
> final int size = this.size;
|
9
|
+
> int i = 0;
|
10
|
+
> found: {
|
11
|
+
> if (o == null) {
|
12
|
+
> for (; i < size; i++)
|
13
|
+
> if (es[i] == null)
|
14
|
+
> break found;
|
15
|
+
> } else {
|
16
|
+
> for (; i < size; i++)
|
17
|
+
> if (o.equals(es[i]))
|
18
|
+
> break found;
|
19
|
+
> }
|
20
|
+
> return false;
|
21
|
+
> }
|
22
|
+
> fastRemove(es, i);
|
23
|
+
> return true;
|
24
|
+
> }
|
25
|
+
> ```
|
26
|
+
|
4
27
|
ArratListのremoveが内部でequalsを呼ぶことを知っておけばいいでしょう。
|
5
28
|
(リファレンスに書いてあります)
|
6
|
-
|
2
修正
test
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
そのコード中には表れません。
|
2
2
|
|
3
|
-
一応ArrayListのコードを読めばどこで呼び出しているかは書いてありますが、
|
3
|
+
一応[ArrayListのコード](https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/ArrayList.java#L613)を読めばどこで呼び出しているかは書いてありますが、
|
4
4
|
ArratListのremoveが内部でequalsを呼ぶことを知っておけばいいでしょう。
|
5
5
|
(リファレンスに書いてあります)
|
6
6
|
|
7
|
-
[jdk/ArrayList.java at master · openjdk/jdk](https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/ArrayList.java#L613)
|
1
追記
test
CHANGED
@@ -2,5 +2,6 @@
|
|
2
2
|
|
3
3
|
一応ArrayListのコードを読めばどこで呼び出しているかは書いてありますが、
|
4
4
|
ArratListのremoveが内部でequalsを呼ぶことを知っておけばいいでしょう。
|
5
|
+
(リファレンスに書いてあります)
|
5
6
|
|
6
7
|
[jdk/ArrayList.java at master · openjdk/jdk](https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/ArrayList.java#L613)
|