Sobes.tech
Junior — Middle

Որ տեսակի հավաքածուն ամենալավն է արդյունավետորեն ավելացնելու տարրերը կառուցվածքի կենտրոնում?

sobes.tech AI

Պատասխան AI-ից

Java-ում կառուցվածքի միջինում տարրեր արդյունավետ ավելացնելու համար, ամենահարմար հավաքածուն LinkedList-ն է:

LinkedList-ը իրականացնում է երկկողմանի կապակցված ցանկ, ինչը թույլ է տալիս ցանկացած վայրում ցանկում տարրեր ավելացնել ժամանակով O(1), եթե կա անհրաժեշտ հանգույցի հղում։ Բացառությամբ ArrayList-ի, որտեղ միջինում ավելացումը պահանջում է տարրերի տեղափոխում և տևում է O(n):

LinkedList-ի օգտագործման օրինակ՝

import java.util.LinkedList;

LinkedList<String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("D");

// Ավելացնել "C" դիրքում 2 (միջեւ B եւ D)
list.add(2, "C");

System.out.println(list); // [A, B, C, D]

Եթե հաճախ եք անհրաժեշտ տարրեր մուտք գործել ըստ ինդեքսի, նկատի ունեցեք, որ LinkedList-ի մուտքը O(n է, հակառակ դեպքում ArrayList-ի, որը O(1) է։