2 csdn linan csdn_linan 于 2016.01.25 22:43 提问

将字符串放进map集合中

我现在有不确定数量的数据,我想把这些数据都放进map中去。
例如:
数据:英文成绩:123,100,99
数学成绩:100,90,89
语文成绩:90,78,97
政治成绩:100,29,20
我想把这些数据放进map中。尽量写的详细点。谢谢

5个回答

caozhy
caozhy   Ds   Rxr 2016.01.25 23:03
 /* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Collection.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here
        Map map = new HashMap();
        map.put("英文", new int[] { 123, 100, 99 });
        map.put("数学", new int[] { 100, 90, 89 });
        map.put("语文", new int[] { 90, 78, 97 });
        map.put("政治", new int[] { 100, 29, 20 });
        for (Object obj : map.keySet())
        {
            System.out.println("--------------");
            System.out.println(obj);
            for (Object x : (int[])map.get(obj))
                System.out.println(x);
        }
    }
}
caozhy
caozhy   Ds   Rxr 2016.01.25 23:03
caozhy
caozhy   Ds   Rxr 2016.01.25 23:03
 --------------
政治
100
29
20
--------------
英文
123
100
99
--------------
数学
100
90
89
--------------
语文
90
78
97
Q563573095
Q563573095   2016.01.26 10:05

一、需求分析
1、从需求来看,基本数据结构是确定了:科目和科目中多个具体的数据。
2、要求数据结构下的科目和科目中的具体数量是不确定的,也就是可以延伸的。
3、在构造方法时可扩展性是首要考虑因素,因此科目和分数都需要利用集合对象。
二、具体实现
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

public class Test {

private static Map<String,List<String>> map = new HashMap<>();

/**
 *  添加一组对应关系
 * @param subject
 * @param scores
 * @return
 */
public static Map<String,List<String>> organizeMap(String subject,Object scoreObj){
    if(subject==null||scoreObj==null)
        throw new IllegalStateException("The paramater map must be specified!");
        if(scoreObj instanceof List){
            if(map.containsKey(subject)){
                    map.get(subject).addAll((List)scoreObj);
                }else{
                    map.put(subject, (List)scoreObj);
                }
        }else if(scoreObj instanceof String){
            if(map.containsKey(subject)){
                map.get(subject).add((String)scoreObj);
            }else{
                List<String> _list = new ArrayList();
                _list.add((String)scoreObj);
                map.put(subject,_list);
            }
        }else{
            throw new IllegalArgumentException("The second argument is illegal!");
        }
    return map;
}

public static void main(String[] args){
    List<String> list = new ArrayList<>();
    list.add("ZhuChengfeng");
    list.add("LiGaoqing");
    list.add("Wangjie");
    String param = "BObo";
    organizeMap("ESB",list);
    organizeMap("ESB",param);
    organizeMap("Zhicall","bobo");
    for(Entry<String,List<String>> entry:map.entrySet()){
        System.out.println(entry.getKey()+"==="+entry.getValue());
    }
}

}
三、输出结果
Zhicall===[bobo]
ESB===[ZhuChengfeng, LiGaoqing, Wangjie, BObo]

Royal_lr
Royal_lr   Ds   Rxr 2016.01.26 13:48

搞这么复杂,,其实没必要用map,pojo,普通java对象就行了

Map String,List grade=new HashMap String,List();
List Integer englishList=new ArrayList Integer();
englishList.add(123);
englishList.add(99);
englishList.add(100);
grade.put("英文成绩",englishList);
依此类推

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
截取字符串,放到map集合中
用String 的属性方法split截取字符串,让后放到list中,再然后遍历出放大库中
JAVA中如何将大数字或字符串放进数组
JAVA中如何将大数字或字符串放进数组 在JAVA学习过程中字符串、数组、数字之间的 的转换经常用到,记录一些非常基础的转换。 1.将数字转换为字符串:String str = String.valueOf(number); 2.强字符串转换为数字(前提是字符串是纯数字):int number=Integer.parseInt(str); 3.获取大数字的长度:先将大数字转换为字符串,再获
截取以逗号分隔的字符串放到map中
1.前台传过来的参数为以逗号分隔的字符串         public Map deleteWebsites(String websiteIds) throws Exception{                Map model = new HashMap();                try{                        if(StringUtils.
【深入JAVA】将Json字符串转换成Map/List
在阅读的过程中有任何问题,欢迎一起交流 邮箱:1494713801@qq.com    QQ:1494713801   Java代码   package jsonToMap;    import java.util.List;  import java.util.Map;  import java.util.Map.Entry;    import net.sf.json
如何把得到的结果集放到map集合中+取得列和值ResultSetMetaData
1先利用sql语句进行查询 2利用反射创建实体类 的对象emp 3获取结果集的列名 4获取结果集的每一列的值,结合3得到一个Map,键是列名,值的值 5利用反射为2对应的属性赋值,属性为Map的键值为map的值 /** * 打印出列的名称+和相对应的字段 * 1.String sql="select name,id from emp"; getEmp(sql, args); 2.
XML和Map集合之间的相互转换
通过XStream和DOM4J实现Map集合和XML文本格式的转化
json中放map集合传到js中的一些处理
后台java处理:    List pList2=new ArrayList    pList2.add(p);    Map map=new HashMap    map.put("list", pList);    map.put("total", pList2);    Gson gson=new Gson();    String json=gson.toJson(map);
java List集合转换为List Map集合
/** * 将List&amp;lt;Object&amp;gt;转换为List&amp;lt;Map&amp;lt;String,Object&amp;gt;&amp;gt; * @param list * @return */ private List&amp;lt;Map&amp;lt;String,Object&amp;gt;&amp;gt; convertListMap(List&amp;lt;Object&amp;gt; list)...
在主方法中创建map集合中存储3个学生对象.key使用字符串表示编号(不能重复)value是学生对象。然后调用以下两个方法;
在主方法中创建map集合中存储3个学生对象.key使用字符串表示编号(不能重复)value是学生对象。然后调用以下两个方法; 1.写一个方法实现把map结合中的数据写出到文本上.(这是在仿出properties类的list方法) 2.写一个方法实现把文本上的map集合数据读出来再添加到map集合中.(这是在仿出properties类的load方法) import java.io.Buff
编程练习2——02—将整数转换为相应的一个字符数组
/************************************    将整数转换为相应的一个字符数组。    分析:从个位提取数字,组合字符       符号位的处理  12345=>"12345" ************************************/ #include int IntToStr(int num, char *str)