我有以下列表:
List<ArrayList> list;
list.get(i)
包含具有以下值{p_name=set1, number=777002}
的ArrayList对象。
我必须创建一个
Map<key,value>
其中键包含p_name,值是数字。
如何轻松快速地执行此操作,因为初始列表中可能有数百个条目,并且每个数字都可以存在于多个p_name条目中。
更新:这是我目前的解决方案
List<Row> list; //here is my data
Map<String,String> map = new TreeMap<String,String>();
for (Row l : list) {
if (l.hasValues()) {
Map<String, String> values = l.getResult(); // internal method of Row interface that returns a map
String key = values.get( "number");
map.put(key, values.get( "p_name" ));
}
}
该方法有效,但也许可以做得更好?
PS:我的设计中有一个明显的错误。我想知道你是否找到了它。)答案 0 :(得分:1)
正弦键可以有多个值,你要找的是MultiMap。 Multimap 或者是表格中的简单地图
Map<Key,ArrayList<Values>>
这里没有“快速”的方式。您仍然需要遍历所有元素并检查所有值。
实际上数以百计的Java并不是很多