如何根据poja类值删除列表中的项目

MMM*_*MMS 2 java list

如何从列表中删除列表项,如下所示

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的项目.

我怎样才能实现这一目标?

Yog*_*h_D 5

使用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)