很简单,使用里面的过滤流方法filter就可以解决了,大致如下
List<AuthItemAttachResultDTO> newList= list.stream().filter(
s->s.byte==1 &&
xxxxxxx).collect(Collectors.toList());
可能你自己需要修改一下,毕竟不清楚你的对象里面的准确元素
看看这个是不是你要的
public static void main(String[] args) throws Exception {
List<AuthItemAttachResultDTO> list = new ArrayList<>();
list.add(new AuthItemAttachResultDTO("公司0", 1));
list.add(new AuthItemAttachResultDTO("公司0", 1));
list.add(new AuthItemAttachResultDTO("公司1", 0));
list.add(new AuthItemAttachResultDTO("公司2", 0));
list.add(new AuthItemAttachResultDTO("公司2", 1));
list.add(new AuthItemAttachResultDTO("公司3", 1));
AtomicBoolean flag = new AtomicBoolean(false);
List<AuthItemAttachResultDTO> result = list.stream().filter(company -> {
if (!flag.get() && company.getBytes() == 1 && "公司0".equals(company.getUserName())) {
flag.set(true);
return true;
}
return company.getBytes() == 1 && !"公司0".equals(company.getUserName());
}).collect(Collectors.toList());
System.out.println(result);
}