Sobes.tech
Junior — Middle

შეგვიძლია თუ არა Java-ში კოლექცია სხვადასხვა ტიპის ელემენტების შენახვისთვის?

sobes.tech AI

პასუხი AI-სგან

Java-да კოლექციები ჩვეულებრივ პარამეტრიზებულია ელემენტების ტიპით (generics), მაგალითად, List<String> ინახავს მხოლოდ სტრიქონებს. თუმცა, შესაძლებელია კოლექციის გამოყენება Object ტიპით, რათა ინახოს სხვადასხვა ტიპის ელემენტები:

List<Object> შერეული სია = new ArrayList<>();
შერეული სია.add("სტრიქონი");
შერეული სია.add(123);
შერეული სია.add(new Person("ანა", 25));

მაგრამ ასეთი მიდგომა ამცირებს ტიპის უსაფრთხოებას და მოითხოვს გამჭვირვალე ტიპის გადაყვანას ელემენტების ამოღებისას. ამიტომ რეკომენდირებულია კონკრეტული ტიპის კოლექციების გამოყენება, ხოლო სხვადასხვა ტიპის შენახვისთვის — შექმნათ გენერიკული კლასი ან გამოიყენოთ ინტერფეისი/აბსტრაქტული კლასი, რომლებიც აერთიანებენ ამ ტიპებს.