2023-java-study / book-study

북 스터디 기록 레포지토리
0 stars 0 forks source link

[item 58] 파괴적인 필터링 #146

Open NuhGnod opened 1 year ago

NuhGnod commented 1 year ago

p.349 파괴적인 필터링에서 removeIf를 사용해 명시적 순회를 피한다는 의미가 궁금합니다.

gmelon commented 1 year ago
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");

for (Iterator<String> i = list.iterator(); i.hasNext();) {
    String cur = i.next();
    if (cur.equals("2")) {
        i.remove();
    }
}

list.removeIf(cur -> cur.equals("2"));
gmelon commented 1 year ago
 List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");

for (String s : list) {
    if (s.equals("2")) {
        list.remove(s);
    }
    System.out.println(s);
}
image
gmelon commented 1 year ago
image image
NuhGnod commented 1 year ago
List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");
        list.add("f");

        for (String s : list) {
            if (s.equals("c")) {
                list.remove(s);
            }
            System.out.println("s = " + s);
        }
ssstopeun commented 1 year ago

image