Junior
Java-ში რა კოლექციები არსებობს?
sobes.tech AI
პასუხი AI-სგან
Java Collections Framework მონაცემების შენახვა და მართვა მრავალი კოლექციით უზრუნველყოფს. ძირითადი ინტერფეისები და მათი რეალიზაციები:
Collection: ძირითადი ინტერფეისი.List: წესრიგით კოლექცია, რომელიც დუბლიკატებს იღებს.ArrayList: დაფუძნებულია მასივზე, სწრაფი წვდომა ინდექსით, ნელი ჩასმა/გამოჭრა შუაში.LinkedList: დაფუძნებულია ორმაგად დაკავშირებულ სიაზე, სწრაფი ჩასმა/გამოჭრა, ნელი ინდექსით წვდომა.Vector:ArrayList-ის ნაკადი-უსაფრთხო ანალოგი, მოძველებულია.Stack: დაფუძნებულიაVector-ზე, LIFO პრინციპი.
Set: უნიკალური ელემენტების კოლექცია, გარკვეული წესრიგის გარეშე (გარდაSortedSet).HashSet: დაფუძნებულია ჰეშ-ტაბლზე, სწრაფი წვდომა და ჩასმა/გამოჭრა.LinkedHashSet: ინახავს ჩასმის წესს.TreeSet: ინახავს ელემენტებს სორტირებულ წესში.
Queue: ელემენტების კოლექცია, ხშირად გამოიყენება FIFO წესით ელემენტების შენახვაში.PriorityQueue: ელემენტები გამოიტანება მათი პრიორიტეტით.ArrayDeque: ორმხრივი რიგი.
Deque: ორმხრივი რიგი, სადაც შეიძლება ელემენტების დამატება და ამოღება ორივე მხარეს.
Map: ინახავს გასაღები-ღირებულების წყვილებს, გასაღებები უნიკალურია.HashMap: დაფუძნებულია ჰეშ-ტაბლზე, სწრაფი წვდომა გასაღებით.LinkedHashMap: ინახავს ჩასმის ან წვდომის წესს.TreeMap: ინახავს წყვილებს სორტირებულ წესში გასაღებით.Hashtable:HashMap-ის ნაკადი-უსაფრთხო ანალოგი, მოძველებულია.
პოტოკოლზე უსაფრთხო კოლექციები:
Collections.synchronized*: არსებული კოლექციების გარშემო ბეჭდვა.Concurrent*:java.util.concurrentპაკეტი, კოლექციები კონკურენტულ გარემოში უკეთესი შესრულებით.ConcurrentHashMapCopyOnWriteArrayListConcurrentLinkedQueue
სხვა ნაკლებად გავრცელებული კოლექციები.