Sobes.tech
Junior — Middle

Qaysi turdagi to'plam strukturaning o'rtasiga elementlarni samarali qo'shish uchun eng mos keladi?

sobes.tech AI

AIdan javob

Efficient tarzda elementlarni Java'da orta qismiga qo'shish uchun eng yaxshi kolleksiya LinkedList.

LinkedList ikki tomonlama bog'langan ro'yxatni amalga oshiradi, bu esa kerakli tugunga havola bo'lsa, ro'yxatning istalgan joyiga elementlarni O(1) vaqt ichida joylashtirish imkonini beradi. ArrayList bilan solishtirganda, o'rta qismga joylashtirish elementlarni siljitishni talab qiladi va O(n) vaqt oladi.

LinkedList dan foydalanish misoli:

import java.util.LinkedList;

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

// "C" ni 2-pozitsiyaga (B va D orasiga) qo'shish
list.add(2, "C");

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

Agar siz ko'pincha elementlarga indeks bo'yicha murojaat qilishingiz kerak bo'lsa, LinkedList'ga kirish O(n) ekanligini, ArrayList'ga nisbatan esa O(1) ekanligini yodda tuting.