Junior
дар бораи сохтори ҳиерархии коллексияҳо дар Java гап занед.
sobes.tech AI
Ҷавоб аз AI
Java-да коллекциялар иерархиясы екі түбірлік интерфейрге негізделген: Collection және Map. Ол java.util пакетіндегі анықталады.
Collection<E>: Көптеген коллекциялар үшін түбірлік интерфейс. Элементтер тобы. Тәртібі немесе бірегейлігі кепілденбеген.List<E>: Тәртіптелген коллекция (реті). Элементтердің нақты индексі бар. Қайталаулар болуы мүмкін.ArrayList<E>: Массив негізіндегі жүзеге асыру. Жылдам кездейсоқ қол жеткізу, баяу орнату/жою ортасында.LinkedList<E>: Байланысқан тізім негізіндегі жүзеге асыру. Баяу кездейсоқ қол жеткізу, жылдам орнату/жою басында/аяғында.Vector<E>: Ескірген синхрондалған класс.ArrayListсияқты, бірақ көп ағынды қауіпсіз (және төмен өнімділікті).Stack<E>: Ескірген класс,Vectorкеңейтеді, стек тәртібін жүзеге асырады (LIFO).
Set<E>: Бірегей элементтерді қамтитын коллекция.HashSet<E>: Хеш-кесте негізіндегі жүзеге асыру. Тәртіпсіз. Жылдамadd,remove,containsоперациялары.LinkedHashSet<E>: Вставка тәртібін сақтайды.SortedSet<E>: Өсу тәртібімен сұрыпталған жиын.TreeSet<E>: Қызыл-қара ағаш негізіндегі жүзеге асыру. Сұрыпталған тәртіпті кепілдендіреді.
Queue<E>: Өңдеу үшін элементтерді сақтау коллекциясы, көбінесе FIFO тәртібімен (Бірінші кірген — бірінші шығады).PriorityQueue<E>: Артықшылықтар кезегі жүзеге асыруы. Элементтер олардың артықшылығы бойынша шығарылады.Deque<E>: (Екі жақты кезек) Екі жақтан да енгізу және шығару операцияларын қолдайды.ArrayDeque<E>: Динамикалық массив негізіндегіDequeжүзеге асыруы.LinkedList-ке қарағанда жылдамырақ стек немесе кезек ретінде қолдану үшін.
Map<K, V>: Кілттерді мәндерге көрсететін объект. Кілттер бірегей, мәндер қайталануы мүмкін.HashMap<K, V>: Хеш-кесте негізіндегі жүзеге асыру. Тәртіпсіз. Жылдамput,get,removeоперациялары.LinkedHashMap<K, V>: Вставка немесе қол жеткізу тәртібін сақтайды.SortedMap<K, V>: Кілттер бойынша сұрыпталған карта.TreeMap<K, V>: Қызыл-қара ағаш негізіндегі жүзеге асыру. Кілттер бойынша сұрыпталған тәртіпті кепілдендіреді.
Hashtable<K, V>: Ескірген синхрондалған класс.HashMapсияқты, бірақ көп ағынды қауіпсіз (және төмен өнімділікті).
Негізгі интерфейстер:
| Интерфейс | Сипаттама | Тәртібі | Бірегейлігі | Қайталаулар |
|---|---|---|---|---|
Collection |
Элементтер тобы | +/- | +/- | Иә |
List |
Тәртіптелген коллекция | Иә | Жоқ | Иә |
Set |
Бірегей элементтер коллекциясы | +/- | Иә | Жоқ |
Queue |
Өңдеу үшін коллекция (FIFO) | Иә | Жоқ | Иә |
Deque |
Екі жақты кезек | Иә | Жоқ | Иә |
Map |
Кілт-мағына | +/- | Кілт бойынша | Иә |
SortedSet |
Сұрыпталған жиын | Иә | Иә | Жоқ |
SortedMap |
Кілттер бойынша сұрыпталған карта | Иә | Кілт бойынша | Иә |
Қолдану мысалы:
// ArrayList қолдану мысалы
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
System.out.println(names.get(0)); // Alice
// HashSet қолдану мысалы
Set<Integer> uniqueNumbers = new HashSet<>();
uniqueNumbers.add(1);
uniqueNumbers.add(2);
uniqueNumbers.add(1); // Қайталау еленбейді
System.out.println(uniqueNumbers.size()); // 2
// HashMap қолдану мысалы
Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);
System.out.println(ages.get("Alice")); // 30