如何从列表中删除列表项,如下所示
List<Mypojaclass> results = new ArrayList<>();
// in the results i am adding more items using sql query, after that,
if(Mypojaclass sensor : results){
if(sensor.getType.equals("JD"){
sensor.remove(sensor);
}
}
Run Code Online (Sandbox Code Playgroud)
我可以使用迭代器,如下所示,
List<String> results = new ArrayList<>();
for (Iterator<String> iter = list.listIterator(); iter.hasNext(); ) {
String a = iter.next();
if (...) {
iter.remove();
}
}
Run Code Online (Sandbox Code Playgroud)
但我应该删除基于该sensor.getType的项目.
我怎样才能实现这一目标?
使用Java 8,您可以这样做:
results = results.stream().filter(p ->! p.getType().equals("JD")).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
对于Java 7及更低版本,最安全的选择是:
Iterator<Mypojaclass> itr = results.iterator();
while(itr.hasNext()){
Mypojaclass item = itr.next();
if("JD".equals(item.getType())){
itr.remove();
}
}
Run Code Online (Sandbox Code Playgroud)