在Volley android中使用Multimap代替HashMap

时间:2016-01-07 06:23:00

标签: android hashmap android-volley multimap

我有什么

我的EditText包含hashtags,例如: #test #tootle #kkkk

webservicehashtags中的EditText作为单独的字词(句子被white space delimiters分割为单词)

enter image description here

我的问题

我使用Volley进行网络操作,排名将Hashmap作为parameters

Hashmap does not allow to have duplicate keys

我尝试了什么

我遇到了Multimap的{​​{1}},但我无法在guava library中使用此Multimap,而且我还有其他值{%}}。 t复制我必须使用的密钥Volley

我的代码

Hashmap

凌空

Multimap<String, String> multimap = ArrayListMultimap.create();
multimap.put("Title", mTittle);
for (int i = 0; i < mListAlbum.size(); i++) {
      multimap.put("AlbumName", mListAlbum.get(i));
 }
 multimap.put("uri", mUri);
mHashArray=mHashTag.split("\\s+");
for (int i = 0; i < mHashArray.length; i++) {
 multimap.put("hashtags", mHashArray[i]);
}
 multimap.put("City", mCity);
 multimap.put("Country", mCountry);
 multimap.put("Latitude", String.valueOf(mLatitude));
 multimap.put("Longitude", String.valueOf(mLongitude));     
                       networkCallImageMetaData.makeStringMultimapRequest(multimap);

1 个答案:

答案 0 :(得分:0)

您也可以使用Hashmap而不是使用Multimap的其他库

  • 首先将所有散列值存储在ArrayList
  • 然后在Hashmap中编写那些Hashtags,将Array List索引作为 Hashmap密钥
  • 如果有其他数据不是hashmap,你可以嵌入密钥 index以便将它们与哈希标记区分开来

    List<String> mHashTags=new ArrayList<>(); //list which contains hashtags
    
    HashMap<String,String> mHashMap=new HashMap<>();
    
    for(int i=0;i<mHashTags.size();i++){
        mHashMap.put("HashTag-"+i,mHashTags.get(i));//HashTag is the tag used for hashtag u want to send other data use different tag for it 
    }