【问题标题】:How to retrieve data from HashMap<List<String>, List<String>> in android using java如何使用java从android中的HashMap<List<String>、List<String>>检索数据
【发布时间】:2014-03-29 03:39:59
【问题描述】:
List<String> uniqueidslist = new ArrayList<String>();
uniqueidslist.size() is 7

sample uniqueidslist data --> uniqueidslist = {u1, u2, u3, u4, u5, u6, u7}

List<String> receiveruserfullnamelist= new ArrayList<String>();
receiveruserfullnamelist.size() is 7

sample receiveruserfullnamelist data --> receiveruserfullnamelist = {username1, username2, username3, username4, username5, username6, username7}

我已经创建了一个这样的哈希图:

HashMap<List<String>, List<String>> usermap = new HashMap<List<String>, List<String>>();
usermap.put(uniqueidslist, receiveruserfullnamelist);

我还有另一个这样的 ArrayList:

List<String> finaluserreceiverids = new ArrayList<String>();
finaluserreceiverids.size() is 51

sample finaluserreceiverids data --> finaluserreceiverids = {u1, u4, u7, u1, u1, u1, u2, u4, u5, u2, u2, u2, u3, .....}

现在,我需要一个 ArrayList,其中包含与确切索引相对应的 finaluserreceiverids 中每个 id 的用户名。 像这样:

List<String> finaluserreceivernames = new ArrayList<String>();
finaluserreceivernames.size() is 51

sample finaluserreceivernames data --> finaluserreceivernames = {username1, username4, username7, username1, username1, username1, username2, username4, username5, username2, username2, username2, username3, .....}

我从各种数据库表中动态获取所有这些数据,因此我无法手动将名称放入相应的索引中。

【问题讨论】:

  • 我认为你的hashmap在这种情况下是错误的,应该是HashMap,你应该通过迭代uniqueidslist把值放在那里

标签: android list arraylist hashmap dynamic-data


【解决方案1】:

我认为您的 HashMap 是错误的。如果是这样,请查看以下示例:

List<String> uniqueidslist = new ArrayList<String>();
List<String> receiveruserfullnamelist= new ArrayList<String>();
HashMap<String, String> usermap = new HashMap<String, String>();
for (int i = 0; i<uniqueidslist.size();i++){
    usermap.put(uniqueidslist.get(i),receiveruserfullnamelist.get(i));
}
ArrayList<String> finaluserreceiverids = new ArrayList<>();
ArrayList<String> finaluserreceivernames = new ArrayList<>();
for (String x:finaluserreceiverids){
    finaluserreceivernames.add(usermap.get(x));
}

【讨论】:

  • 谢谢 nikis,hashmap 的实现确实错了!
猜你喜欢
  • 1970-01-01
  • 2011-12-11
  • 2014-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-30
  • 1970-01-01
相关资源
最近更新 更多