當(dāng)數(shù)據(jù)庫查詢出數(shù)據(jù)過后填硕,發(fā)現(xiàn)有些數(shù)據(jù)不需要,所以這里要處理一下炼吴,加入循環(huán)list本鸣,根據(jù)判斷條件去刪除的話,就會(huì)出現(xiàn)異常硅蹦。
所以這里用到了java8的新特性去刪除荣德。
List<UserFictitious> list = new ArrayList<>();
for (int i = 0; i < 50; i++){
UserFictitious userFictitious = new UserFictitious();
userFictitious.setUserFictitiousName(String.valueOf(i));
list.add(userFictitious);
}
list.removeIf(item -> item.getUserFictitiousName().equals("1"));
System.out.println(list);
底層的源碼是根據(jù)迭代器的特性去刪除,java8只是封裝進(jìn)了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;
}