java怎么像sql的where条件那样处理list里面的数据? 100
他的where 条件不固定。
现在有这么一个list里面的数据都是t表, 怎么用java取出数据?因为我不确定哪些查询条件是会有的? 展开
public static void main(String[] args){
vo vo1 = new vo("张三",12,"武汉");
vo vo2 = new vo("李四",12,"武汉");
vo vo3 = new vo("王五",12,"北京");
List<vo> list = Arrays.asList(vo1,vo2,vo3);
//条件
vo vo4 = new vo("",null,"武汉");
if(vo4.getName() != null && !"".equals(vo4.getName())){
list = list.stream().filter(vo -> vo.getName().equals(vo4.getName()))
.collect(Collectors.toList());
}
if(vo4.getAge() != null){
list = list.stream().filter(vo -> vo.getAge().equals(vo4.getAge()))
.collect(Collectors.toList());
}
if(vo4.getCity() != null && !"".equals(vo4.getCity())){
list = list.stream().filter(vo -> vo.getCity().equals(vo4.getCity()))
.collect(Collectors.toList());
}
list.stream().forEach(vo -> {
System.out.println(vo);
});
}
不考虑内存,只考虑实现
不考虑内存,只考虑实现
实现就是没有,查内存里边的只有自己写代码逐条比对。