Junior
Milyen gyűjtemények léteznek Java-ban?
sobes.tech MI
Válasz az MI-től
A Java Collections Framework számos gyűjteményt kínál az adatok tárolására és kezelésére. A fő interfészek és azok megvalósításai:
Collection: alapinterfész.List: rendezett gyűjtemény, duplikátumokat megenged.ArrayList: tömbön alapul, gyors hozzáférés index szerint, lassú beszúrás/eltávolítás középen.LinkedList: kétszárú láncolt lista, gyors beszúrás/eltávolítás, lassú index szerinti hozzáférés.Vector: aArrayListszálbiztos változata, elavult.Stack: aVector-on alapul, LIFO elv.
Set: egyedi elemek gyűjteménye, nem meghatározott sorrendben (kivéveSortedSet).HashSet: hash-táblán alapul, gyors hozzáférés és beszúrás/eltávolítás.LinkedHashSet: megőrzi a beszúrás sorrendjét.TreeSet: elemeket rendezett sorrendben tárol.
Queue: elemek gyűjteménye, gyakran használják az elemek tárolására feldolgozás előtt FIFO sorrendben.PriorityQueue: elemek prioritás szerint kerülnek kivételre.ArrayDeque: dupla végű sor.
Deque: dupla végű sor, elemeket mindkét végén lehet hozzáadni és eltávolítani.
Map: kulcs-érték párokat tárol, a kulcsok egyediek.HashMap: hash-táblán alapul, gyors hozzáférés kulcs szerint.LinkedHashMap: megőrzi a beszúrás vagy hozzáférés sorrendjét.TreeMap: párokat rendezett sorrendben tárol kulcs szerint.Hashtable: aHashMapszálbiztos változata, elavult.
Szálbiztos gyűjtemények:
Collections.synchronized*: meglévő gyűjtemények köré csomagolva.Concurrent*: ajava.util.concurrentcsomagban, gyűjtemények jobb teljesítménnyel több szálas környezetben.ConcurrentHashMapCopyOnWriteArrayListConcurrentLinkedQueue
És más kevésbé elterjedt gyűjtemények.