Junior
Ի՞նչ հավաքածուներ կան Java-ում։
sobes.tech AI
Պատասխան AI-ից
Java-յում առկա են հետևյալ հիմնական հավաքածուների ինտերֆեյսները, որոնք ընդգրկված են Java Collections Framework-ում:
-
Collection: Հիմնական ինտերֆեյս, որը սահմանում է ընդհանուր գործողություններ օբյեկտների խմբերի վրա: Դիցուք, այն ժառանգում են ստորին ինտերֆեյսները:List: Սորտավորված հավաքածու (հետևյալ): Էլեմենտները կարող են կրկնվել: Պատրաստ է հասանելիության համար ըստ ինդեքսի:ArrayList: Դինամիկ զանգված: Լավ է արագ հասանելիության և վերջում ավելացման համար: Աչքահայթում է միջինում ավելացման/ջնջման համար:LinkedList: Երկու ուղղությամբ կապված ցանկ: Լավ է սկզբից կամ վերջից ավելացման/ջնջման համար: Աչքահայթում է հասանելիության համար ըստ ինդեքսի:Vector:ArrayList-ի սինխրոնիզացված տարբերակ: Հաշվում է որպես հնացած:Stack: ժառանգում էVector-ից, իրականացնում Stack-ի (LIFO) վարքագիծ:
Set: Միայն եզակի էլեմենտներ պարունակող հավաքածու: Որեւէ հերթականություն չի ապահովում:HashSet: Հաշվային տախտակամածի միջոցով իրականացված: Ամենահեշտ և ամենաարագը ավելացման, ջնջման և առկայության ստուգման համար: Հերթը չի ապահովում:LinkedHashSet: Հաշվային տախտակամած + կապված ցանկ: Հաստատում է ավելացման հերթականությունը:TreeSet: Կատարվում է կարմրուկ-սև ծառի միջոցով: Պահպանում է էլեմենտները դասավորված կարգով: Ավելի դանդաղ, քանHashSet, բայց ավելի արագ, քանLinkedHashSetտիրապետման համար:
Queue: Հավաքածու, որը նախատեսված է էլեմենտների պահեստավորման համար նախքան մշակումը (FIFO - առաջինը մտավ, առաջինը դուրս):PriorityQueue: Էլեմենտները պահվում են ըստ իրենց բնական կարգի կամ համեմատիչի: Հանում է բարձր առաջնահերթությամբ էլեմենտը:Deque: (Երկկողմանի հերթ) Պատրաստ է ավելացման և ջնջման երկու կողմերից:ArrayDeque: Բազումի վրա հիմնված Deque իրականացում: Ավելի արդյունավետ, քանLinkedListորպես հերթ/ստեկ:
-
Map: Հավաքածու, որը պահպանում է բանալու-արժեք զույգեր: Բանալիները եզակի են:HashMap: Հաշվային տախտակամածի միջոցով իրականացված: Ամենաարագը ավելացման, ջնջման և առկայության ստուգման համար: Հերթը չի ապահովում:LinkedHashMap: Հաշվային տախտակամած + կապված ցանկ: Գերաշխավորում է ավելացման կամ հասանելիության հերթականությունը:TreeMap: Կատարվում է կարմրուկ-սև ծառի միջոցով: Պահպանում է բանալու-արժեք զույգերը դասավորված կարգով ըստ բանալիների: Ավելի դանդաղ, քանHashMap:HashTable: Սինխրոնիզացված տարբերակHashMap-ի: Հաշվում է որպես հնացած:
Կան նաև հնացած դասեր, որոնք չեն մաս է կազմում JCF-ի, բայց հաճախ հանդիպում են:
VectorStackHashtableEnumeration(ինտերֆեյս)