【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);
    }
}

 

posted @ 2021-11-06 12:16  小墨儿  阅读(855)  评论(0编辑  收藏  举报