【Java】Map集合中存入的数组值转存到ArryList集合中的实现
实现代码如下:
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); } }