Iterator ArrayList-ზე, HashMap კლასები არის წარუმატებლობის სწრაფი Iterator-ის რამდენიმე მაგალითი. … ეს იმიტომ ხდება, რომ ისინი მუშაობენ კოლექციის კლონზე და არა თავდაპირველ კოლექციაზე და ამიტომაც მათ უწოდებენ უვნებელ გამეორებას. Iterator CopyOnWriteArrayList-ზე, ConcurrentHashMap კლასები წარუმატებლობისთვის უსაფრთხო Iterator-ის მაგალითებია.
უსაფრთხოა თუ არა იტერატორი შეცდომით ჯავაში?
იტერატორი Java-ში გამოიყენება კოლექციის ობიექტებზე გადასასვლელად. კოლექციები აბრუნებს ორი ტიპის გამეორებას, ან ეს იქნება Fail Fast ან Fail Safe. Fail Fast iterators დაუყოვნებლივ აგდებენ ConcurrentModificationException კოლექციის სტრუქტურული მოდიფიკაციის შემთხვევაში.
რა არის უშეცდომო და მარცხი-სწრაფი ჯავაში?
უსაფრთხო. 1. გამონაკლისი. ნებისმიერი ცვლილება კოლექციაში, როგორიცაა კოლექციის დამატება, წაშლა და განახლება ნაკადის დროს, იმეორებს კოლექციას, შემდეგ კი, სწრაფი გადაგდება, თანმხლები მოდიფიკაციის გამონაკლისი. წარუმატებლობისთვის უსაფრთხო კოლექცია არ წარმოადგენს გამონაკლისს.
არის სიის გამეორება სწრაფად?
იტერატორები დაბრუნდა ArrayList iterator-ით და listIterator მეთოდები წარუმატებლად სწრაფია: თუ სია სტრუქტურულად შეიცვლება ნებისმიერ დროს გამეორების შექმნის შემდეგ, ნებისმიერი გზით, გარდა იტერატორის საკუთარი მეთოდების წაშლის ან დამატებას, იტერატორი ჩააგდებს ConcurrentModificationException.
არის ArrayList-ის მარცხი?
ArrayList-ის Iterator სწრაფად ვერ ხერხდება, ასე რომ, სანამ თქვენ ხართგამეორება ArrayList-ზე Iterator-ის გამოყენებით, თუ ძირითადი ArrayList მოდიფიცირებულია ნებისმიერი სხვა მეთოდით, გარდა თვით Iterator-ის მიერ მოწოდებული დამატებისა და წაშლისა, ის ჩააგდებს ConcurrentModificationException და გირაო იქნება.