示例:
public static void main(String[] args) {
String a="1^2^3";
String[] aArr = a.split("\\^");
List<String> aList = new ArrayList<>(Arrays.asList(aArr));
aList.removeIf("2"::equals);
System.out.println("re:" + aList.toString());
}
re:[1, 3]
removeIf 的内部实现,走的是迭代器 👍
default boolean removeIf(Predicate<? super E> filter) {
Objects.requireNonNull(filter);
boolean removed = false;
final Iterator<E> each = iterator();
while (each.hasNext()) {
if (filter.test(each.next())) {
each.remove();
removed = true;
}
}
return removed;
}