在编程实践中,经常会遇到这样的需求场景:遍历一个列表,把其中不满足某些条件的元素删掉。
下面我们写几个方法来尝试用不同的方式来实现这个需求:
先准备两个校验方法
/**
* 校验一个字符串是否合法的方法,字符串的长度大于等于6才是合法的
*
* @param str
* @return
*/
public static boolean isValid(String str) {
if (null == str || str.length() < 6) {
return false;
}
return true;
}
public static boolean isNotValid(String str) {
return !isValid(str);
}
方式1:在for-each循环中删除列表元素
public static void method1() {
List list = new ArrayList();
list.add("1");
list.add("abc");
list.add(null);
list.add("123456");
list.add("");
for (String str : list) {
if (isNotValid(str)) {
list.remove(str);