随笔
1.JSONArray转Collection
Collection<JSONObject> data = JSONArray.fromObject(result.getData());
Collection<VolumeState> coll=data.stream().map(volumeStateIO ->(VolumeState) JSONObject.toBean(volumeStateIO, VolumeState.class)).collect(Collectors.toList());
2. json 转map
public static <K, V> Map<K, V> JsonToMap(JSONObject json) {
Map<Object, Object> ret = new HashMap<Object, Object>();
json.forEach(ret::put);
return (Map<K, V>) ret;
}
3.过滤,分组
查询所有的网卡NetworkVO信息networkService.listNetworkVOByCondition(null),通过流过滤,最后对过滤后的NetworkVO的segment进行分组,Collectors.groupingBy(NetworkVO::getSegment) ------NetworkVO::getSegment:表示调用NetworkVO的getSegment方法来获取segment。
return this.networkService.listNetworkVOByCondition(null).stream()
.filter(network -> {
// 损坏网卡需要过滤
if (!network.getIsHealth()) {
return false;
}
return true;
})
.collect(Collectors.groupingBy(NetworkVO::getSegment));
4.排序
// 使用 java 7 排序
private void sortUsingJava7(List<String> names){
Collections.sort(names, new Comparator<String>() {
@Override public int compare(String s1, String s2){
return s1.compareTo(s2);
}
});
}
// 使用 java 8 排序
private void sortUsingJava8(List<String> names)
{ Collections.sort(names, (s1, s2) -> s1.compareTo(s2)); }