İşte işte püf noktası.
Burada iki örnek verelim:
public class ArrayListExample {
public static void main(String[] args) {
Collection<Integer> collection = new ArrayList<>();
List<Integer> arrayList = new ArrayList<>();
collection.add(1);
collection.add(2);
collection.add(3);
collection.add(null);
collection.add(4);
collection.add(null);
System.out.println("Collection" + collection);
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
arrayList.add(null);
arrayList.add(4);
arrayList.add(null);
System.out.println("ArrayList" + arrayList);
collection.remove(3);
arrayList.remove(3);
System.out.println("");
System.out.println("After Removal of '3' :");
System.out.println("Collection" + collection);
System.out.println("ArrayList" + arrayList);
collection.remove(null);
arrayList.remove(null);
System.out.println("");
System.out.println("After Removal of 'null': ");
System.out.println("Collection" + collection);
System.out.println("ArrayList" + arrayList);
}
}
Şimdi çıktıya bir göz atalım:
Collection[1, 2, 3, null, 4, null]
ArrayList[1, 2, 3, null, 4, null]
After Removal of '3' :
Collection[1, 2, null, 4, null]
ArrayList[1, 2, 3, 4, null]
After Removal of 'null':
Collection[1, 2, 4, null]
ArrayList[1, 2, 3, 4]
Şimdi çıktıyı analiz edelim:
Koleksiyondan 3 kaldırıldığında, parametre olarak remove()alan koleksiyon yöntemini çağırır Object o. Böylece nesneyi kaldırır 3. Ancak arrayList nesnesinde, dizin 3 tarafından geçersiz kılınır ve bu nedenle 4. öğe kaldırılır.
Aynı nesne kaldırma mantığı ile ikinci çıktıda her iki durumda da null kaldırılır.
Bu nedenle 3, bir nesne olan sayıyı kaldırmak için açıkça 3'ü bir object.
Ve bu, sarıcı sınıfı kullanılarak döküm veya sarma ile yapılabilir Integer.
Örneğin:
Integer removeIndex = Integer.valueOf("3");
collection.remove(removeIndex);