首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >哪个集合是从包含android键值的列表中获取值的最佳方法?

哪个集合是从包含android键值的列表中获取值的最佳方法?
EN

Stack Overflow用户
提问于 2016-01-01 17:25:13
回答 2查看 1.2K关注 0票数 0

我有一个ArrayList,如下所示:

代码语言:javascript
运行
复制
Id1, value1
Id1, value2
Id2, value1
Id2, value2
Id2, value3
Id3, value1
Id3, value2
Id3, value3
Id3, value4
Id3, value5 

等等。

在一个类中,我有id值。我必须获取与id值对应的值。例如,如果我给id1,那么我需要value1和value2。我应该使用哪种收集机制来达到我的目标。我是初学者,请推荐我。提前谢谢。欢迎所有建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-01 17:27:55

假设键是String的类型,值是String类型。您可以使用Map<String, List<String>>

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

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

代码语言:javascript
运行
复制
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
EN

Stack Overflow用户

发布于 2016-01-01 17:35:01

以番石榴的MultiMap:http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html为例

番石榴是Google的一个库,它提供了许多有用的实用程序,这在Java中是常见的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34558300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档