Aja*_*ran 2 java arraylist hashmap
我需要使用Single Key创建一个HashMap,它应该包含String,ArrayList,String,ArrayList类型的多个值.
ie ..,String类型的Msg,Integer ArrayList类型的groupdestId,类型为String的id,类型为Integer ArrayList的userdestId ..
HashMap<String,String> body = new HashMap<>();
body.put("message",Msg);
body.put("groupdestId",groupdestId);
body.put("id",id);
body.put("destId",userdestId);
Run Code Online (Sandbox Code Playgroud)
只需定义Map为
Map<String, Object> body = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
A Map<String, Object>也可以保持任何价值:
StringArrayList<Integer>如果您不知道需要存储的值(类型和名称),此解决方案可为您提供最大的灵活性.
如果您确切知道需要处理更好解决方案的数据,那么定义一个具有名为Map的键的属性的自定义类.
public class DataHolder {
private String message;
private List<Integer> groupdestId;
private String id;
private List<Integer> userdestId;
// Add getters and setters
}
Run Code Online (Sandbox Code Playgroud)
此外,如果您知道这些数据不会随时间更改值,则更好的解决方案是创建不可变类,以便可以在多线程环境中共享它,而无需同步访问它们.
首先创建一个声明dataType的WrapperClass.
Class StringAndListWrapper{
String stringValue;
List<String> stringListValue;
public StringAndListWrapper(){
stringValue = new String();
stringListValue = new ArrayList<>();
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以把包装器放在HashMap中,
String Key = "your key";
HashMap<String, StringAndListWrapper> hmap = new HashMap<>();
StringAndListWrapper stringAndListWrapper = new StringAndListWrapper();
stringAndListWrapper.stringValue = "putYourStringValue";
stringAndListWrapper.stringListValue.add("add Elements Here");
hmap.put(key, stringAndListWrapper);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
421 次 |
| 最近记录: |