⑴ java中如何把字符串转换成map
1、使用fastJson 将String转 map:
String out;
Object succesResponse = JSON.parse(out); //先转换成Object
Map map = (Map)succesResponse; //Object强转换为Map
2、String 转 java 对象
fastjson 应用 string字符串转换成java对象或者对象数组
代码如下
⑵ java中如何map转换为数组
map.put("123",newfloat[]{11,11,11});
按照已有的代码,存进去的时候,new一个float数组,直接传值就可以。
或
Map sMap = new HashMap<String[], String>();
String[] strs = {"1","2"};
sMap.put(strs, "map的键值可以为数组");
System.out.println(sMap.get(strs));//---->map的键值可以为数组。
(2)javamap转string扩展阅读:
一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。
⑶ java List<Map<String,Object>> 集合转换集合 Map<String,List<String>> 在线等 谢谢
List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();//你的list
//声明一个Map用于返回
Map<String,List<String>> map=new HashMap<String,List<String>>();
//循环你拿来的List
for(int i=0;i<list.size();i++){
Map<String,Object> m=list.get(i);
for (String key:m.keySet()) {
List<String> l=map.get(key);
if(l!=null){
l.add((String)m.get(key));
}else{
List<String> newL=new ArrayList<String>();
newL.add((String)m.get(key));
map.put(key, newL);
}
}
}
return map;
注意下:你原来返回的List里装的事Object我强转了一下String,没放到工具里
⑷ java 数据库返回map集合 List<Map<String, Object>>我要转成 Map<String, List<String>>
List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();//你的list
//声明一个Map用于返回
Map<String,List<String>> map=new HashMap<String,List<String>>();
//循环你拿来的List
for(int i=0;i<list.size();i++){
Map<String,Object> m=list.get(i);
for (String key:m.keySet()) {
List<String> l=map.get(key);
if(l!=null){
l.add((String)m.get(key));
}else{
List<String> newL=new ArrayList<String>();
newL.add((String)m.get(key));
map.put(key, newL);
}
}
}
return map;
这个问题我前2天回答了一模一样的,。。。。莫非你们是同班同学。。。有疑问可以追问
⑸ java Map<String,ArrayList<String>> 如何转化为Map<String,List<String>>
list是个接口,arrayList是个实体类。。。
你要是有需求这样转化就相当于要将arrayList转化为List
如果真出现这种情况就说明你声明的就出了问题
要转化也可以,只不过也没必要
转化的方法:重新定义一个Map对象,将其泛型定义为<String,List<String>>
然后给此Map赋予以前的key
例子:
//模拟已存在的Map<String, ArrayList<String>>类型数据
//其key为"number",value为1-100
ArrayList<String> arList = new ArrayList<String>();
Map<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
for (int i = 0; i < 100; i++) {
arList.add((1+i)+"");
}
map.put("number", arList);
//模拟数据结
List<String> list = new ArrayList<String>();
list.addAll(arList);
Map<String,List<String>> map2 = new HashMap<String,List<String>>();
map2.put("number", list);
如果key为多个值,请用iterator进行全部遍历。
另外,出方法的时候最好将原有的引用置空,以方便GC可以在第一时间回收