Java Stream API Collectors扩展
背景
想直接把序列收集为com.alibaba.fastjson.JSONArray
,toList()
方法返回List
,List
转JsonArray
不是很优雅,于是写了一个新的方法直接收集成JsonArray
。
代码
使用
public static void main(String[] args){
Map<String,String> map = new HashMap<>();
map.put("192.168.20.6",UUID.randomUUID().toString());
map.put("192.168.20.7",UUID.randomUUID().toString());
System.out.println(map.entrySet().stream()
.map(entry -> new JSONObject().fluentPut("serviceId",entry.getValue()))
.collect(toJsonArray()));
}
/**
* [{"a":"a"},{"b":"b"},{"c":"c"},{"d":"d"}]
* ["a","b","c","d"]
* [{"a":"a"},{"b":"b"},{"c":"c"},{"d":"d"}]
*/