java list删除或修改其中的元素

  • Post author:
  • Post category:java


删除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 版权协议,转载请附上原文出处链接和本声明。