删除list中的某些元素
// 写法一:
import java.util.*;
import java.util.stream.Collectors;
public class HelloWorld {
public static void main(String []args) {
List<String> str = new ArrayList();
str.add("a");
str.add("bb");
str.add("ccc");
str.add("dddd");
List<String> ss = str.stream().filter(item -> 2 < item.length()).collect(Collectors.toList());
System.out.println(ss); // [ccc, dddd]
}
}
// 写法二:
ArrayList<String> list = new ArrayList<>();
list.add("111");
list.add("222");
list.add("333");
for (int i = 0; i <list.size(); i++) {
list.remove("222");
}
以下foreach 写法会报错
ArrayList<String> list = new ArrayList<>();
list.add("111");
list.add("222");
list.add("333");
for (String i : list) {
list.remove("222");
}
总结
- for与foreach都可以遍历数组/集合,不过for则在较复杂的循环中效率更高。
- foreach不可以删除/修改集合元素,而for可以
-
foreach和for都可以修改元素里面的属性
所以相比较下来for循环更为灵活。
详细的for 与 foreach 的区别请参考
link
版权声明:本文为weixin_38115942原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。