Sobes.tech
Middle

Javaда коллекциялардын иерархиясын сүрөттөп бериңиз.

sobes.tech AI

AIден жооп

Javaдагы коллекциялардын хиерархиясы стандарттык ыкмалар менен объекттер тобун көрсөтүүчү интерфейстердин жыйнагына негизделген.

Негизги интерфейстер:

  • Collection: хиерархиянын түпкү интерфейси. Бардык коллекциялар үчүн колдонулучу негизги операцияларды аныктайт: кошуу, өчүрүү, бар экенин текшерүү, өлчөмүн аныктоо.
  • Set: дублдуулары жок жана белгилүү бир тартиби жок коллекция.
  • List: тартиптелген коллекция, элементтерге индекс аркылуу кирүүгө мүмкүнчүлүк берет. Дублдуулары болушу мүмкүн.
  • Queue: иштетүү алдынкы сактоо үчүн арналган коллекция. Адатта FIFO (биринчи кирген, биринчи чыгат) эрежесин карманат, бирок башка реализациялары да бар.
  • Deque: эки тараптуу кезек. Эки тараптан да элементтерди кошуу жана өчүрүү мүмкүнчүлүгүн берет.
  • Map: ачкыч-баалуулук парларын сактайт. Ачкычтар уникалдуу болушу керек. Collection интерфейсин кеңейтпейт.

Негизги ишке ашыруу класстары (мисалдар):

Интерфейс Ишке ашыруу класстары (мисалдар) Түшүндүрмө
Set HashSet, LinkedHashSet, TreeSet Дублдуулары жок. HashSet - тартиби жок, LinkedHashSet - кошуу тартибин сактайт, TreeSet - сорттолгон.
List ArrayList, LinkedList, Vector Тартиптелген. ArrayList - массив негизделген, LinkedList - байланышкан тизмеге негизделген, Vector - синхрондоштурулган (эскирген).
Queue LinkedList, PriorityQueue Иштөө үчүн. LinkedList - FIFO, PriorityQueue - артыкчылыктарга негизделген.
Deque ArrayDeque, LinkedList Эки тараптуу кезек. ArrayDeque - массив негизделген, LinkedList - байланышкан тизмеге негизделген.
Map HashMap, LinkedHashMap, TreeMap, Hashtable Ачкыч-баалуулук. HashMap - кепилденген тартипсиз, LinkedHashMap - кошуу/киртүү тартибин сактайт, TreeMap - ачкычтар боюнча сорттолгон, Hashtable - синхрондоштурулган (эскирген).

ArrayList колдонуу мисалы:

// Стрингдердин ArrayList түзүү
List<String> fruits = new ArrayList<>();
// Элементтерди кошуу
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
// Индекс аркылуу кирүү
String firstFruit = fruits.get(0); // Apple
// Коллекциянын өлчөмү
int size = fruits.size(); // 3

HashSet колдонуу мисалы:

// Бүтүн сандардан HashSet түзүү
Set<Integer> numbers = new HashSet<>();
// Элементтерди кошуу (дублдуулары эске алынбайт)
numbers.add(1);
numbers.add(2);
numbers.add(2); // Эске алынбайт
// Коллекциянын өлчөмү
int size = numbers.size(); // 2

HashMap колдонуу мисалы:

// HashMap түзүү: ачкыч - String, баалуулук - Integer
Map<String, Integer> ages = new HashMap<>();
// Ачкыч-баалуулук парларын кошуу
ages.put("Alice", 30);
ages.put("Bob", 25);
// Ачкыч боюнча баалуулукту алуу
int aliceAge = ages.get("Alice"); // 30
// Ачкычтын бар-жогун текшерүү
boolean hasBob = ages.containsKey("Bob"); // чындык