Collections Początkujący

Utwórz niemutowalną kopię dowolnej kolekcji w jednym wywołaniu.

✕ Java 8
List<String> copy =
    Collections.unmodifiableList(
        new ArrayList<>(original)
    );
✓ Java 10+
List<String> copy =
    List.copyOf(original);
Widzisz problem z tym kodem? Daj nam znać.

Inteligentna kopia

Pomija kopiowanie, jeśli źródło jest już niemutowalne.

📏

Jedno wywołanie

Bez ręcznej konstrukcji ArrayList i opakowywania.

🛡️

Dowolna kolekcja

Przyjmuje dowolną kolekcję jako wejście—bez pośredniej konwersji do ArrayList.

Stare podejście
Ręczna kopia + opakowanie
Nowoczesne podejście
List.copyOf()
Od JDK
10
Poziom trudności
Początkujący
Niemutowalne kopiowanie kolekcji
Dostępne

Szeroko dostępne od JDK 10 (marzec 2018)

List.copyOf(), Set.copyOf() oraz Map.copyOf() tworzą niemutowalne migawki istniejących kolekcji. Jeśli źródło jest już niemutowalną kolekcją, kopia nie jest tworzona.