|
리스트를 횡단하는 방법은 세 가지가 있습니다
리스트<A> 리스트 = 새로운 ArrayList<A>(); list.add(new A()); list.add(new A()); ...
첫 번째 유형: for(Iterator<A> it = list.iterator(); it.hasNext(); ) { .... } 이 방법은 순환 속에 있습니다 동시에, 쾌락의 과정에서 요소를 제거하고 싶다면 it.remove 메서드만 호출할 수 있고, list.remove 메서드를 사용할 수 없습니다. 그렇지 않으면 동시 접근 오류가 발생합니다. 하지만 호환성이 가장 좋고, 컬렉션에 적합합니다
두 번째 유형: for(A a : list) { ..... } 각 메서드는 여전히 반복자이고, 첫 번째 메서드는 내부적으로 호출되며, 수프는 변경되지 않고, 이 순환 메서드에는 다른 제한점이 있어 권장되지 않습니다 호환성이 낮은 JK1.5 이상에서만 사용할 수 있습니다. 이 세트를 사용하는 것이 가장 좋습니다
세 번째 유형: for(int i=0; i<list.size(); i++) { A a = list.get(i); ... } For loop, 리스트 컬렉션의 내용을 탐색하는 것은 리스트에서만 가능한데, 리스트는 순서가 있는 집합이기 때문입니다 , 내부는 잠기지 않아 가장 효율적이지만, 멀티스레딩을 작성할 때는 동시 연산 문제를 고려해야 합니다! Set 컬렉션을 탐색하는 것은 List와 같은 방식이지만, Set 컬렉션에는 get() 메서드가 없기 때문에 For 루프를 사용해 Set 컬렉션을 반복할 수 없습니다. 하지만 강화 기능을 통해 루프를 만들 수 있습니다 세트 컬렉션을 횡단하다 Set<String> set = new HashSet<String>(); Set.add("QQQ"); set.add("www"); set.add("eee"); set.add("RRR");
for(String s : set){ System.out.println("set="+s); }
|