我已经以Car的形式获得了不同汽车(年份,型号)的数据,考虑了进入我系统的2个数据流。
输入数据:
(“ 2018”,“ i20”) (“ 2018”,“ zen”) (“ 2016”,“ alto”) (“ 2015”,“ k10”) (“ 2014”,“ ertiga”) (“ 2016”,“ i20”)
我需要实现的是,当用户输入有效的关键字(例如“ 2018”)作为搜索关键字时,应该以该关键字的排序顺序显示所有关联的汽车型号。
例如,在这种情况下,“ 2018”的输出应为:[i20,zen]
我知道在Java中,hashmap不能有重复的键,并且进行了一些研究,可以使用MultiMap来实现,但是真的很感谢这里的一些线索。
答案 0 :(得分:0)
将值放入Map<String, List<String>>
中,并使用get(String key)
答案 1 :(得分:0)
是的,可以使用com.google.common.collect.Multimap来实现。 请尝试以下:
Multimap<String, String> cars = ArrayListMultimap.create();
cars.put("2018", "i20");
cars.put("2018", "zen");
cars.put("2016", "alto");
cars.put("2015", "k10");
cars.put("2014", "ertiga");
cars.put("2016", "i10");
System.out.println(cars.get("2018"));
如果您不想使用第三方库,则可以使用
Map<String, List<String>>.
答案 2 :(得分:0)
您可以将值放在[ struct: { id: 'struct',
name: 'Struktur',
icon: 'fa fa-bullseye',
properties: [] },
mp: { id: 'mp',
name: 'Messpunkt',
icon: 'fa fa-circle',
properties: [] },
'356899e5-d8b0-41aa-b7cd-de2135c5a3db': { id: '356899e5-d8b0-41aa-b7cd-de2135c5a3db',
name: 'Untermessung',
icon: 'fa fa-tachometer',
properties: [] },
'8d824cfd-584f-40e9-b9fa-78d7fedcc727': { id: '8d824cfd-584f-40e9-b9fa-78d7fedcc727',
name: 'Kommune',
icon: 'fa fa-thumb-tack',
properties: [] },
'2609b2ac-77aa-42f2-af22-d49fcfc6f0f0': { id: '2609b2ac-77aa-42f2-af22-d49fcfc6f0f0',
name: 'Bereiche',
icon: 'fa fa-circle',
properties: [] },
'a4ac2e52-da95-412f-b431-499f2eff64da': { id: 'a4ac2e52-da95-412f-b431-499f2eff64da',
name: 'Gebäude',
icon: 'fa fa-industry',
properties: [ [Object], [Object] ] } ]
中
Map<String, Set<TreeSet>>
使您的价值保持排序的位置