Junior — Middle
Ինչպե՞ս կարելի է ստանալ փոփոխել չկարողացվող ցանկ՝ հիմնված առկա ArrayList-ի վրա:
sobes.tech AI
Պատասխան AI-ից
/**
- Java-յում գոյություն ունեցող
ArrayListհիման վրա անփոփոխ (immutable) ցանկ ստանալու համար, կարող եք օգտագործելCollections.unmodifiableList()մեթոդը։ Այս մեթոդը վերադարձնում է հագնված օղակ՝ սկզբնական ցանկի վրա, որը թույլ չի տալիս փոխել պարունակությունը տրամադրված ինտերֆեյսի միջոցով։ - Օրինակ՝
-
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- ArrayList<String> փոփոխական_ցանկ = new ArrayList<>();
- փոփոխական_ցանկ.add("Էլեմենտ 1");
- փոփոխական_ցանկ.add("Էլեմենտ 2");
- List<String> անփոփոխ_ցանկ = Collections.unmodifiableList(փոփոխական_ցանկ);
- // Փորձել փոփոխել անփոփոխ_ցանկ-ը կհանգեցնի UnsupportedOperationException- ի
- // անփոփոխ_ցանկ.add("Նոր էլեմենտ"); // Խախտում!
-
- Կարևոր է հիշել, որ եթե սկզբնական
փոփոխական_ցանկ-ը փոխվի, փոփոխությունները նաև տեսանելի կլինենանփոփոխ_ցանկ-ում, քանի որ դա միայն հագնված օղակ է։ Եթե անհրաժեշտ է լրիվ անփոփոխություն, պետք է ստեղծել ցանկի պատճենը և այն հագնել։ -
- List<String> իսկապեսԱնփոփոխ_ցանկ = Collections.unmodifiableList(new ArrayList<>(փոփոխական_ցանկ));
-
*/