Junior — Middle
როგორ ხდება ელემენტის დამატება მასივის შუაში ArrayList-ის სტრუქტურაში?
sobes.tech AI
პასუხი AI-სგან
Java-ს ArrayList მონაცემთა სტრუქტურაში, საშუალო ნაწილში ელემენტის დამატება შემდეგი მეთოდით ხდება:
- შემოწმდება, აქვს თუ არა შიდა მასივში საკმარისი ადგილი ახალი ელემენტისათვის. თუ არა, მასივი გაიზრდება (საშუალოდ, გადმოწერით ახალ, უფრო დიდ მასივში).
- ყველა ელემენტი, დაწყებული ჩასმის პოზიციიდან და ბოლომდე, გადაინაცვლებს ერთი პოზიცია მარჯვნივ, რათა ადგილი შექმნას.
- ახალი ელემენტი მოთავსდება თავისუფალ ადგილზე.
კოდის მაგალითი:
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), რადგან საჭიროა ელემენტების გადატანა.