Sobes.tech
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<>(փոփոխական_ցանկ));

*/