java中如何map转换为数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何map转换为数组相关的知识,希望对你有一定的参考价值。

map.put("123",newfloat[]11,11,11);

按照已有的代码,存进去的时候,new一个float数组,直接传值就可以。

Map sMap = new HashMap<String[], String>();

String[] strs = "1","2";

sMap.put(strs, "map的键值可以为数组");

System.out.println(sMap.get(strs));//---->map的键值可以为数组。

扩展资料:

一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。

参考资料来源:百度百科-数组

参考技术A List转数组还好说,map好像有点难啊,具体要看你的数据结构,或者做个含有键值属性的对象,然后把map里的东西转成对象,然后扔进数组 参考技术B list转数组还好理解,map是个键值对集合,怎么可能直接转数组
自己遍历map然后按需求组成数组吧
http://www.cnblogs.com/kristain/articles/2033566.html

java,list数组转换成map

list里面是amount,year,month,day,89,2015,06,21,89,2015,06,22,89,2015,06,23,
转成map<key,value>
map.key=year+month+day;
map.value = amount;
想知道这样的list怎么转map,求具体的代码 谢谢大家


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TestArray 

    public static void main(String[] args) 
        /**
         * 初始化一个 List,存放 String 数组,数组的第一位是 amount,第二位是 year,第三位是 month,第四位是 day 。
         */
        List<String[]> arr = new ArrayList<String[]>();
        arr.add(new String[]  "89", "2015", "06", "21" );
        arr.add(new String[]  "89", "2015", "06", "22" );
        arr.add(new String[]  "89", "2015", "06", "23" );

        /**
         * 创建一个 StringBuffer 临时存放 map.key 。
         */
        StringBuffer key = new StringBuffer();
        /**
         * 建一个 map 对象,
         */
        Map<String, String> map = new HashMap<String, String>();
        for (int i = 0; i < arr.size(); i++) 
            // 获取 List 中的 String 数组元素。
            String[] element = arr.get(i);
            // 数组的第二位、第三位、第四位拼接成 key 。
            key.append(element[1]).append(element[2]).append(element[3]);

            // 数组的第一位拼接成 value,初始化 map。
            map.put(key.toString(), element[0]);

            // 临时的 StringBuffer 清空内容以便下次循环继续使用。
            key.delete(0, key.length());
        

        // 打印 map
        System.out.println(map.toString());

    

输出效果:

追问

这么详细 还有注释,感激不尽,谢谢你

参考技术A public static void main(String[] args) 
        List<Integer[]> list=new ArrayList<Integer[]>();
        list.add(new Integer[]89,2015,06,21);
        list.add(new Integer[]89,2015,06,22);
        list.add(new Integer[]89,2015,06,23);
        Map<Integer, Integer> map=new HashMap<Integer, Integer>();
        for (int i = 0; i < list.size(); i++) 
            int key=0;
            for (int j = 1; j < list.get(i).length; j++) 
                key+=list.get(i)[j];
            
            map.put(key, list.get(i)[0]);
        
        
        System.out.println(map.toString());
    

参考技术B for(int i =0; i < list.size(); i++)
Data data = list.get(i);
map.put(data.year + data.month + data.day, data.amount);
追问

请问 Data 是那个包啊

追答

Data 是实体类,你需要一个实体类来存 amount year month day

以上是关于java中如何map转换为数组的主要内容,如果未能解决你的问题,请参考以下文章

Java中如何把字符串转换成map

java 2维数组如何转换为HashMap

java,list数组转换成map

如何将 Java Map 转换为基本的 Javascript 对象?

java在后台如何将前台传过来的json格式数据转换为map?

如何将Map转化为json字符串