Junior — Middle
Kā iegūt nemaināmu sarakstu, pamatojoties uz esošo ArrayList?
sobes.tech AI
Atbilde no AI
Lai iegūtu nemainīgu (immutable) sarakstu, kas balstīts uz esošo ArrayList Java, jūs varat izmantot metodi Collections.unmodifiableList(). Šī metode atgriež pārklājumu virs oriģinālā saraksta, kas neļauj mainīt saturu, izmantojot nodrošināto saskarni.
Piemērs:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
ArrayList<String> maināmsSaraksts = new ArrayList<>();
maināmsSaraksts.add("Elements 1");
maināmsSaraksts.add("Elements 2");
List<String> nemainīgsSaraksts = Collections.unmodifiableList(maināmsSaraksts);
// Mēģinājums mainīt nemainīgsSaraksts izraisīs UnsupportedOperationException
// nemainīgsSaraksts.add("Jauns elements"); // Kļūda!
Svarīgi atcerēties, ka, ja oriģinālais maināmsSaraksts mainīsies, izmaiņas būs redzamas arī nemainīgsSaraksts, jo tas ir tikai pārklājums. Ja nepieciešama pilnīga nemaināmība, jāizveido saraksta kopija un jāapvij:
List<String> patiešāmNemainīgsSaraksts = Collections.unmodifiableList(new ArrayList<>(maināmsSaraksts));