Sobes.tech
Junior — Middle

როგორ ხდება ელემენტის დამატება მასივის შუაში ArrayList-ის სტრუქტურაში?

sobes.tech AI

პასუხი AI-სგან

Java-ს ArrayList მონაცემთა სტრუქტურაში, საშუალო ნაწილში ელემენტის დამატება შემდეგი მეთოდით ხდება:

  1. შემოწმდება, აქვს თუ არა შიდა მასივში საკმარისი ადგილი ახალი ელემენტისათვის. თუ არა, მასივი გაიზრდება (საშუალოდ, გადმოწერით ახალ, უფრო დიდ მასივში).
  2. ყველა ელემენტი, დაწყებული ჩასმის პოზიციიდან და ბოლომდე, გადაინაცვლებს ერთი პოზიცია მარჯვნივ, რათა ადგილი შექმნას.
  3. ახალი ელემენტი მოთავსდება თავისუფალ ადგილზე.

კოდის მაგალითი:

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

// "C" ჩასმა პოზიციაზე 2 (0-დან ითვლება)
list.add(2, "C");

System.out.println(list); // გამოიტანს [A, B, C, D]

მნიშვნელოვანია აღვნიშნოთ, რომ ArrayList-ის შუაში დამატება ოპერაციაა, რომლის სირთულე არის ლინეურმა O(n), რადგან საჭიროა ელემენტების გადატანა.