将多个ArrayLists快速聚合为一个

时间:2013-04-15 07:28:11

标签: java arraylist data-structures

我有以下列表:

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:我的设计中有一个明显的错误。我想知道你是否找到了它。)

1 个答案:

答案 0 :(得分:1)

正弦键可以有多个值,你要找的是MultiMap。 Multimap 或者是表格中的简单地图

  Map<Key,ArrayList<Values>>

这里没有“快速”的方式。您仍然需要遍历所有元素并检查所有值。

实际上数以百计的Java并不是很多

相关问题