Ⅰ 怎么把Map类型强制转换成List类型
转一个:
实现将HashMap转换成为ArrayList,并将map的Key 、Value分别存放到两个ArrayList当中
----------------------------------------------------
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class ConvertMapToList {
/**
* 实现将HashMap转换成为ArrayList,并将map的Key 、Value分别存放到两个ArrayList当中
* @param args
*/
public static void main(String[] args) {
Map map = new HashMap();
map.put("a", "a1");
map.put("b", "b1");
map.put("c", "c1");
List listKey = new ArrayList();
List listValue = new ArrayList();
Iterator it = map.keySet().iterator();
while (it.hasNext()) {
String key = it.next().toString();
listKey.add(key);
listValue.add(map.get(key));
}
System.out.println("Convert Finished !");
//output the context of the ArrayList
for(int i =0 ;i<listKey.size();i++){
System.out.print("Key :"+listKey.get(i));
System.out.println(" Value :"+listValue.get(i));
}
}
}
Ⅱ 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可以在第一时间回收
Ⅲ 怎么办map形转换成list
1、创建java类:TestMap2List,
Ⅳ java调用javascript时,如何将NativeArray或NativeObject转换成java实体或者HashMap,List对象
packagecom.sinaapp.manjushri;
importjava.io.FileReader;
importjavax.script.Invocable;
importjavax.script.ScriptEngine;
importjavax.script.ScriptEngineManager;
/**
*Java调用并执行js文件,传递参数,并活动返回值
*
*@authormanjushri
*/
publicclassScriptEngineTest{
publicstaticvoidmain(String[]args)throwsException{
ScriptEngineManagermanager=newScriptEngineManager();
ScriptEngineengine=manager.getEngineByName("javascript");
StringjsFileName="expression.js";
//读取js文件
FileReaderreader=newFileReader(jsFileName);
//执行指定脚本
engine.eval(reader);
if(engineinstanceofInvocable){
Invocableinvoke=(Invocable)engine;
//调用merge方法,并传入两个参数
//c=merge(2,3);
Doublec=(Double)invoke.invokeFunction("merge",2,3);
System.out.println("c="+c);
}
reader.close();
}
}