数据筛选过滤
filter条件过滤
单一条件过滤
int id=1;
List<Object> list1=list.stream().filter(e->e.getId()==id).collect(Collectors.toList());
多条件过滤
//返回一条
Dictionary dic=list.stream().filter(t->t.type=="METER_TYPE" && t.name == "name").findFirst().orElse(null);
///返回list
List<Map<String, Object>> linelist = lineList.stream().filter(l->l.get(spColName).equals(spPointValue)||l.get(spColName).equals(epPointValue)||l.get(epColName).equals(spPointValue)||l.get(epColName).equals(epPointValue)).collect(Collectors.toList());
findFirst找第一条数据
Object obj=list.stream().filter(a->a.get(ColName).equals(Value)).findFirst().orElse(null);
数据循环
map类型
方法一:forEach
HashMap<WsmpIndicator, List<WsmpIndExtendDto>> DicIndicator ;
DicIndicator.forEach((key, value) -> {
WsmpIndicator indicator = new WsmpIndicator();
indicator.indicatorId = key.getIndicatorId();
indicator.objectId = key.getObjectId();
indicator.indicatorName = key.getIndicatorName();
indicator.indicatorCode = key.getIndicatorCode();
if (value.size() > 0) {
for (WsmpIndExtendDto indicatorExend : value) {
indicatorExend.setId(indicator.indicatorId);
indicatorExtendService.addIndicatorExtend(indicatorExend);
}
}
});
方法二:while
Map<String,Object> params= condition.params;//条件
String paramCol=null;
String gdbh1=null;
String gdbh2=null;
Iterator<String> iterator = params.keySet().iterator();
while (iterator.hasNext()){
String key=iterator.next();
Object value=params.get(key);
paramCol=key;
gxbhColName=key;
String[] gdbhs=value.toString().split(",");
gdbh1= gdbhs[0];//管段起点列名
gdbh2= gdbhs[1];//管段终点列名
break;
}
list类型
方法一:stream()
List<WsmpObject> objectList;
List<WsmpObjectOutput> result = objectList.stream().map(u -> {
WsmpObjectOutput newobject = new WsmpObjectOutput(u);
int id = newobject.getObjectId();
List<WsmpIndicatorOutput> indicators = allIndicators.stream().filter(i->i.getObjectId()==id).collect(Collectors.toList());
newobject.setIndicators(indicators);
WsmpLayerDto layer = dicLayer.get(newobject.getLayerId());
newobject.setLayer(layer);
return newobject;
}).collect(Collectors.toList());
方法二 :foreach
List<Object> result;
result.forEach((key, value) -> {
});
方法三:for
List<Object> result;
for (Object entity : result) {
}