我是Java的新手.我编写了使用红黑树的代码:
TreeMap test = new TreeMap();
Map mainMap = new HashMap<>();
Map tempMap = new HashMap<>();
List<Integer> list = new ArrayList<>();
tempMap.put("Visa Credit Card",447747);
list.add(421323);
list.add(421630);
list.add(455451);
list.add(469375);
tempMap.put("Visa Debit card",list);
tempMap.put("Master Card Credit Card",523951);
tempMap.put("Master Debit Card",5399);
mainMap.put("ICCI",tempMap);
mainMap.put("Next",1234);
test.put("Values",mainMap);
System.out.println(mainMap);
Run Code Online (Sandbox Code Playgroud)
打印出以下内容:
{Next=1234, ICCI={Master Card Credit Card=523951, Visa Debit card=[421323, 421630, 455451, 469375], Master Debit Card=5399, Visa Credit Card=447747}}
Run Code Online (Sandbox Code Playgroud)
正如我所料.但是在这张地图中,我需要在地图中搜索一些值,比如说455451.如果这样做我应该输出为:
Visa Debit card, ICCI.
是否可以在地图上进行搜索?
提前致谢.
但是在这张地图中,我需要在地图中搜索一些值,例如455451.
基本上你需要遍历所有键/值对:
for (Map.Entry<String, List<Integer>> entry : map.entrySet()) {
if (entry.getValue().contains(targetValue)) {
System.out.println(entry.getKey());
}
}
Run Code Online (Sandbox Code Playgroud)
显然这不是非常有效 - 如果你需要做很多事情,你可能也想创建一个反向地图,并保持两者同步.
您可能还想看看番石榴的Multimap类型.
| 归档时间: |
|
| 查看次数: |
141 次 |
| 最近记录: |