需要從字串串列和以字串為 KEY 和串列為 VALUE 的 MAP 中收集公共值。
片段:
public Map<String, List> maping() throws Exception {
String id="test";
List<String> no = new ArrayList<String>();
no.add("123456");
no.add("654321");
no.add("11223344");
Map<String, List> info = new HashMap<String, List>();
info .put(id, no);
return info ;
}
public List getInfo() {
List<String> listNo = new ArrayList<String>();
listNo.add("123456");
listNo.add("654321");
listNo.add("135790");
listNo.add("123987");
listNo.add("11223344");
return listNo;
}
第三種方法需要比較 List 和 MAP 值并收集 List 中的公共編號。請指導使用 JAVA 8 Stream API
uj5u.com熱心網友回復:
public List<String> collectCommonNumbers(Map<String, List<String>> inputMap, List<String> inputList) {
return inputMap.values().stream().flatMap(List::stream).distinct().filter(inputList::contains).collect(Collectors.toList());
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/369941.html
