哪个集合是从列表中获取值的最佳方式,其中包含android中的键值

时间:2016-01-01 17:25:13

标签: java android collections

我有一个ArrayList,如下所示:

sudo apt-get install npm

等...

在课堂上我有id值。我必须获取与id值对应的值。例如,如果我给id1,那么我需要value1和value2。我应该使用哪种收集机制来实现我的目标。我是初学者请建议我。提前致谢。欢迎提出所有建议。

2 个答案:

答案 0 :(得分:1)

假设密钥类型为String且值为String类型。您可以使用Map<String, List<String>>

每个id存储一个列表中的值,因此当您查找id时,您可以检索所有值。

这是代码片段,它首先检查密钥是否已经存在,如果没有,则创建新的空列表。这些值将添加到列表中并放入地图中。您可以使用get(Key) api从地图中检索值。

public void add(String key, String value) {
  List<String> values = map.get(key);
  if (values == null) {
    values = new ArrayList<String>();
  }
  values.add(value);
  map.put(key, values);
}

答案 1 :(得分:1)

考虑Guava的MultiMap:http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html

Guava是一个来自Google的库,它提供了许多有用的实用工具,通常需要Java。