實現代碼如下:
import java.util.ArrayList; import java.util.Map; public class MapToArrayList { /** * 將Map中存入的數組轉換成Long類型的數據存入ArrayList集合 * @param map * @return */ public ArrayList<Long> MapStringToArrayListLong(Map<String,String> map){ System.out.println("存入集合前的Map值:"+map.get("arrays")); //截取需要存入集合中的數據 String substring = map.get("arrays").substring(1,map.get("arrays").length()-1); //通過“,”分割數據暫存到temp中 String[] temp = substring.split(","); //定義集合對象 ArrayList<Long> list = new ArrayList<Long>(); //遍歷分割后的數組,然后添加到集合中 for(int i=0; i<temp.length; i++){ list.add(Long.parseLong(temp[i])); } return list; } }
測試代碼:
import java.util.ArrayList; import java.util.HashMap; import java.util.Map; /* * 定義一個測試類 * */ public class Test { public static void main(String[] args) { Map<String,String> map = new HashMap<String, String>(); //在String類型map集合中存入整數組成的數組 map.put("arrays","[12,13,18]"); //調用方法將Sring類型的數組值轉換成ArrayList,Long類型的集合數據 MapToArrayList mapToList = new MapToArrayList(); ArrayList<Long> list = mapToList.MapStringToArrayListLong(map); System.out.println("存入ArrayList集合的值輸出:"+list); } }