【问题标题】:Retrieve value in HashMap [closed]在HashMap中检索值[关闭]
【发布时间】:2014-10-20 18:21:00
【问题描述】:
HashMap details = new HashMap();
details = taskManager.getFormDetails(appSessionURI, accessToken);
System.out.println("Details :" + details);

输出:

Details :{fileSize=-1590179396, fileId=38418026, fileHref=v1pre3/files/38418026, fileName=sorted_S1.bam, refgene=mm8, appSessionID=4646657}

这是我的问题。我想从详细信息中检索fileIdrefgene。我该怎么做?

【问题讨论】:

  • 最好提供 getFormDetail 方法或至少提供函数返回的 hashmap 使用的类。
  • @Zan 你知道hashmaps是怎么用的吗?
  • 你看JavaDoc for HashMap了吗?
  • 来之前先看看一些java API?

标签: java collections hashmap


【解决方案1】:

首先,代码System.out.println("Details :" + details); 只需使用KeyValue toString() 方法打印您的HashMap 内容。您需要知道键“fileId”和“refgene”的对象类型。我假设您认为它是一个字符串,但它可以是任何具有任何自定义实现toString() 方法的对象。如果你知道它是一个字符串,你可以使用details.get("refgene")details.get("fileId")获取值

【讨论】:

  • 谢谢,你的建议也没错=)
【解决方案2】:

Map 是一个键值对,即一个值与一个键相关联。

你的代码可以重构如下:

Map<String, Object> details = taskManager.getFormDetails(appSessionURI, accessToken);
//System.out.println("Details :" + details);
String fileName = (String)details.get("fileName");
String refGene = (String)details.get("refgene");

【讨论】:

  • 非常感谢!它正在工作。啊啊啊!!
  • 我很高兴能提供帮助。您必须首先了解集合的数据结构,例如ListSetMap 和数组,并根据您的理解进行一些编码,然后再尝试在这里提问。这就是其他开发人员试图在他们的 cmets 中向您展示的内容。
  • 是的,我也在尝试理解数据结构。无论如何,谢谢你的帮助。
猜你喜欢
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-06
  • 2019-07-29
  • 1970-01-01
  • 1970-01-01
  • 2017-06-10
相关资源
最近更新 更多