Ⅰ 怎麼把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();
}
}