[英]Create a map with key=String and value=ArrayList<Double>
[英]Find Min Key by Value if Map contains key(SubString here ) for Map<String, Double>
我有一個以字符串作為鍵和值的 HashMap。 我有一個字符串。 現在我想做這樣的事情:
例子
Map<String, Double> storeDistance = new HashMap<String, Double>();
map.put("10-ABCD-01", 15.75);
map.put("10-XYZ-05", 12.13);
map.put("10-ABCD-06", 11.06);
map.put("10-ABCD-04", 10.76);
map.put("10-XYZ-03", 07.62);
現在我想找到距離最小的商店 ABCD。 在這種情況下,我想將存儲值作為“10-ABCD-04”,因為它與所有帶有子字符串 ABCD 的鍵的距離最小。
我正在嘗試類似下面的東西,但它不起作用。 所以這里有任何建議。
storeDistance.keySet().stream()
.filter(key -> key.contains("ABCD")).map(storeDistance::get).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, Math::min));
在密鑰集的流上使用min(Comparator)
來獲取可選密鑰
String result = storeDistance.keySet().stream().filter(key -> key.contains("ABCD"))
.min(Comparator.comparingDouble(storeDistance::get)).get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.