Nie możemy wykonać operacji <Collection>.add
lub <Collection>.addAll
na kolekcjach, które uzyskaliśmy od Arrays.asList
.. dozwolona jest tylko operacja usunięcia.Jak dodawać elementy na liście, gdy jest używany Arrays.asList()
A co, jeśli natknę się na scenariusz, w którym muszę dodać nowy element w List
, nie usuwając poprzednich elementów z List
? Jak mogę to osiągnąć?
Dlaczego nie możesz dodać? 'asList' zwraca' nową tablicę ArrayList'. Och, to nie to samo Lista "ArrayList" –
@SotiriosDelimanolis zwrócona przez Arrays.asList jest wspierana przez tablicę przekazaną i nie można jej modyfikować. Z [dokumentacji] (http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#asList (T ...)) (dodano podkreślenia), "Zwraca a ** * lista o stałym rozmiarze *** wspierana przez określoną tablicę. (Zmiany na zwróconej liście "zapisz" do tablicy.) Ta metoda działa jako pomost między interfejsami API opartymi na tablicach i kolekcjami, w połączeniu z Collection.toArray Zwróconą listę można serializować i implementuje RandomAccess. " –
@JoshuaTaylor Nie zauważyłem, że był to 'java.util.Arrays.ArrayList' –