gpt4 book ai didi

Java-removeIf 示例

转载 作者:行者123 更新时间:2023-12-02 11:12:19 25 4
gpt4 key购买 nike

HashMap<Integer, ArrayList<Integer>> cityMap = new HashMap<>();
...
for (ArrayList<Integer> list : cityMap.values()) {
int size = list.size();
if (size > 0) {
list.removeIf(i -> true);
}
}

我不太明白 removeIf 在这种情况下的作用。特别是 (i -> true) 部分。感谢您的任何解释。

最佳答案

removeIf() 的 Javadoc 指出:

Removes all of the elements of this collection that satisfy the given predicate.

示例中的谓词始终为 true,因为您通过表达式将列表中的每个整数 i 映射到 true:我 -> true.

我添加了一个更简单的示例,它通过谓词 i % 2 == 0 删除所有偶数并保留所有奇数整数:

丑陋的设置:

List<List<Integer>> lists = new ArrayList<List<Integer>>() {{
add(new ArrayList<>(Arrays.asList(1,2,3,4)));
add(new ArrayList<>(Arrays.asList(2,4,6,8)));
add(new ArrayList<>(Arrays.asList(1,3,5,7)));
}};

仅保留奇数:

for (List<Integer> list : lists) {
list.removeIf(i -> i % 2 == 0);
System.out.println(list);
}

输出:

[1, 3]
[]
[1, 3, 5, 7]

关于Java-removeIf 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43246613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com