|
Има три начина да преминете през Списък
<A> List list = нов ArrayList<A>(); list.add(нов A()); list.add(нов A()); ...
Първият тип: for(Iterator<A> it = list.iterator(); it.hasNext(); ) { .... } Този път е в цикъл В същото време, ако искате да премахнете елемент в процеса на удоволствие, можете да извикате само метода it.delete, не можете да използвате метода list.demove, в противен случай ще възникне грешка при конкурентен достъп. Но съвместимостта е най-добрата, подходяща за колекцията
Вторият тип: for(a a : list) { ..... } За всеки метод все още има итератор, първият се извиква вътрешно, супата не се променя, а има и други ограничения на този кръгов метод, затова не се препоръчва да се използва Може да се използва само над JK1.5 при лоша съвместимост. Най-добре е да използвате този комплект.
Третият тип: for(int i=0; i<list.size(); i++) { a a = list.get(i); ... } за цикъл, преминаването през съдържанието на колекция от списъци работи само за Списък, тъй като Лист е подредена колекция , вътрешната не е заключена, най-висока ефективност, но при писане на мултитрединг трябва да се вземе предвид проблемът с конкурентните операции! Преминаването през колекция от множества е по същия начин като на списъка, но не можеш да използваш цикъл for за итеративно преминаване през колекция от множества, защото няма метод get() в колекцията на множеството. Но може да се циклира с подобрения Колекцията Traverse the Set <String> Set set = нов HashSet<String>(); set.add("qqq"); set.add("www"); set.add("eee"); set.add("rrr");
for(String s : set){ System.out.println("set="+s); }
|