kiedy używam ArrayList w Javie, jest kilka rzeczy, których nie rozumiem. Oto mój kod inicjalizacji:ArrayList <Integer> z metodą get/remove
ArrayList<Integer> list = new ArrayList <Integer>();
list.add (0);
list.add (1);
czasami muszę usunąć obiekt o indeksie:
list.remove (0) // delete the object in the first box
ale czasami chcę usunąć obiekt za jego zawartość:
list.remove (0) // delete the object HAS Which value of 0
ten kod jest bardzo niejednoznaczny. Aby wyjaśnić, co chcę zrobić to w kodzie, określić typ takiego:
list.remove ((Object) 0) // delete the object which has a value of 0
Jeśli nie AC, jedynym sposobem, aby wiedzieć, które metody są nazywane jest umieścić wskaźnik myszy na metody na patrz: java.util.ArrayList.remove boolean (obiekt)
Java Ale jak to robi różnicę? Czy istnieje wskaźnik metody? Czy jest to mniej niejednoznaczny sposób?
Dziękuję bardzo, przepraszam za mój angielski.
PS: Muszę powiedzieć, że w końcu wykorzystane SparseIntArray ale jestem zaciekawiony
tak, zauważyłem to. ale jeśli nie używam wartości zwracanej, zastanawiam się, jak Java robi różnicę, jak działa autoboxing. –
@juliendumortier W tym szczególnym scenariuszu jest tylko mylące. ale jeśli myślisz o tym ogólnie w przypadku obiektu, to jest jak. 'list.remove (animal)' lub 'list.remove (watever)'. – PermGenError
ok, dziękuję! ostatnie pytanie. System.out.println (lista.remove ((Integer) 0); To jest dobra/zła praktyka? (dzięki temu unika się tworzenia nowej instancji). –