728x90

 

컬렉션 List,Set에서 내부 요소(엘리먼트)에 접근할 때

Iterator를 사용해서 while + hasNext()로 가져오고는 했는데

향상된 포문(for each문)을 권장한다고 해서 찾아보다가 해보게 되었다

 

LinkedHashSet<Dog> lhSet = new LinkedHashSet<>();
lhSet.add(new Dog("a",10));
lhSet.add(new Dog("b",10));
System.out.println(lhSet); // [a(10.0kg), b(10.0kg)]

ArrayList<Dog> al = new ArrayList<>(lhSet);
System.out.println(al); // [a(10.0kg), b(10.0kg)]

al.get(1);
System.out.println(al.get(0)); // a(10.0kg)
System.out.println(al.get(1)); // b(10.0kg)
al.add(new Dog("c",10));


// for문을 이용한 엘리먼트 추출
for(int i=0; i < al.size();i++){
    System.out.println(al.get(i)); // a(10.0kg) b(10.0kg)
}

for(Dog a : al){
    System.out.println("for each = "+al);
    // 결과화면
    // for each = [a(10.0kg), b(10.0kg), c(10.0kg)]
    // for each = [a(10.0kg), b(10.0kg), c(10.0kg)]
    // for each = [a(10.0kg), b(10.0kg), c(10.0kg)]
}
for(Dog a : al){
    System.out.println(a);
    // 결과화면
    // a(10.0kg) b(10.0kg) c(10.0kg)
}
for(Dog b : lhSet){
    System.out.println("for each = "+lhSet);
    // 결과화면
    // for each = [a(10.0kg), b(10.0kg)]
    // for each = [a(10.0kg), b(10.0kg)]
}
728x90
반응형

+ Recent posts