Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 14824|Odpowiedź: 0

[Komunikacja] java:list和set集合的遍历

[Skopiuj link]
Opublikowano 04.01.2015 13:30:48 | | |

Istnieją trzy sposoby przemierzania Listy   
   
   List<A> List = nowy ArrayList<A>();   
   list.add(nowy A());   
   list.add(nowy A());   
   ...   
   
  Pierwszy typ:   
   for(Iterator<A> it = list.iterator();    it.hasNext();    )    {   
       ....   
   }   
   W ten sposób jest to cykl
Jednocześnie, jeśli chcesz usunąć element w procesie przyjemności, możesz użyć tylko metody it.deue, nie możesz użyć metody list.deve, bo w przeciwnym razie pojawi się błąd współrzędnego dostępu.   
Ale kompatybilność jest najlepsza, odpowiednia dla kolekcji Kolekcji
   
   Drugi typ:   
   for(A a : list) {   
       .....   
   }   
  Dla każdej metody jest to iterator, pierwszy jest wywoływany wewnętrznie, a zupa nie jest zmieniana, a ta metoda kołowa ma inne ograniczenia, dlatego nie zaleca się jej stosowania   
  Można go używać tylko powyżej JK1.5 przy słabej kompatybilności. Najlepiej użyć tego

   Trzeci typ:   
   for(int i=0;    i<list.size();    i++) {   
       A a = list.get(i);   
       ...   
   }   
  dla pętli przechodzenie przez zawartość kolekcji List działa tylko dla List, ponieważ List jest kolekcją uporządkowaną
, wewnętrzne nie jest zablokowane, co daje najwyższą wydajność, ale przy zapisie wielowątkowania należy rozważyć problem operacji współbieżnych!

Przechodzenie przez kolekcję Zbiorów jest takie samo jak w Liście, ale nie można użyć pętli for do iteracji przez kolekcję Zbiorów, ponieważ w kolekcji Zbiorów nie ma metody get().
  Ale można to zapętlić z ulepszeniami
  Kolekcja Traverse the Set
  Set<String> set = nowy HashSet<String>();
  set.add("qqq");
  set.add("www");
  set.add("eee");
  set.add("rrr");
  
  for(String s : set){
   System.out.println("set="+s);
  }






Poprzedni:Przejście kolekcji List w Javie i analiza porównawcza dwóch klas implementacji
Następny:On jest starszym bratem, jest dziewczyną loli, dlaczego dał jej kubek?
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com