Junior — Middle
Կարող եք բացատրել ArrayList տվյալների կառուցվածքի գործառնական սկզբունքը?
sobes.tech AI
Պատասխան AI-ից
ArrayList — Java-ում դինամիկ զանգված է, որը ավտոմատ կերպով ընդլայնվում է տարրեր ավելացնելիս։ Ներքինում օգտագործում է սովորական զանգված, որը մեծանում է, երբ ընթացիկ զանգվածը լցվում է։
Հիմնական կետեր՝
- տարրերը պահվում են զանգվածում։
- նոր տարր ավելացնելիս, եթե զանգվածը լցված է, ստեղծվում է նոր ավելի մեծ զանգված (հաճախ 50%-ով կամ երկու անգամ ավելի մեծ), և հին տարրերը պատճենվում են նոր զանգվածին։
- մուտք դեպի տարրեր ըստ ինդեքսի կատարվում է հաստատուն ժամանակում O(1)։
- տարր ավելացնելը վերջում սովորաբար O(1), բայց զանգվածի ընդլայնման ժամանակ — O(n)։
Օգտագործման օրինակ՝
ArrayList<String> list = new ArrayList<>();
list.add("Привет");
String first = list.get(0);