明らかなことかもしれませんが、このスニペットの出力を合理化することはできません。参考:これ
public class Sample {
public static void main(String[] args) {
Set<Integer> set = new TreeSet<Integer>();
List<Integer> list = new ArrayList<Integer>();
for (int i = -3; i < 3; i++) {
set.add(i);
list.add(i);
}
System.out.println("After adding elements:");
System.out.println(set + " " + list);
for (int i = 0; i < 3; i++) {
set.remove(i);
list.remove(i);
}
System.out.println("After removing elements:");
System.out.println(set + " " + list);
}
}
出力:
要素を追加した後:
[-3、-2、-1、0、1、2] [-3、-2、-1、0、1、2]
要素を削除した後:
[-3、-2、-1] [-2、0、2]
私は期待している:
要素を削除した後:
[-3、-2、-1] [0、1、2]
つまり、list.remove(i) は実際にはリストの 1 番目、2 番目、3 番目の項目を削除する必要があります。けっこうだ ?