java List合并相同的项的问题?-问答-阿里云开发者社区-阿里云

开发者社区> 小旋风柴进> 正文

java List合并相同的项的问题?

2016-03-05 12:55:00 1683 1

List合并相同的项的问题?
5月15日 上海 OSC 源创会 开始报名~!>>> »

表A:
DM 版面 类型 总数量 已使用 空闲
金点子 封面 彩板 5 1 4
金点子 封面 彩板 5 1 4
金点子 封面 彩板 5 1 4
金点子 封面 彩板 5 1 4

金点子 头版 信息版 8 1 7
金点子 头版 信息版 5 1 4
金点子 头版 信息版 12 1 11

表B
DM 版面 类型 总数量 已使用 空闲
金点子 封面 彩板 20 4 16
金点子 头版 信息版 25 3 22

如上所示,要将表A合并成表B,也就是把将DM、版面、类型相同的列进行合并,总数量、已使用、空闲进行累加合并成一条数据,在程序中怎么实现?
其中表A存储在List中

取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 18:53:12

    提供一种程序实现的思路 具体还的你自己修改·

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
     
     
    public class Test {
     
        /**
         * @param args
         */
        public static void main(String[] args) {
            Map<String,String[]> map=new HashMap<String,String[]>();//存放叠加的数据
            List<String[]> list=new ArrayList<String[]>();//数据list
            list.add(new String[]{"金点子","封面","彩板","5","1","4"});
            list.add(new String[]{"金点子","封面","彩板","5","1","4"});
            list.add(new String[]{"金点子","封面","彩板","5","1","4"});
            list.add(new String[]{"金点子","封面","彩板","5","1","4"});
            list.add(new String[]{"金点子","头版","信息版","8","1","7"});
            list.add(new String[]{"金点子","头版","信息版","5","1","4"});
            list.add(new String[]{"金点子","头版","信息版","12","1","11"});
            for(String[] strs : list){//循环数据
                String[] strTemp=map.get(strs[1]);//判断是否已存在
                if(strTemp!=null){//存在就数据相加
                    strTemp[3]=(Integer.parseInt(strTemp[3])+Integer.parseInt(strs[3]))+"";
                    strTemp[4]=(Integer.parseInt(strTemp[4])+Integer.parseInt(strs[4]))+"";
                    strTemp[5]=(Integer.parseInt(strTemp[5])+Integer.parseInt(strs[5]))+"";
                }else{//不存在就添加数据
                    map.put(strs[1], strs);
                }
            }
            //迭代输出结果
            System.out.println("DM\t版面\t类型\t总数量\t已使用\t空闲");
            for(String key : map.keySet()){
                String[] strTemp=map.get(key);
                System.out.println(strTemp[0]+"\t"+strTemp[1]+"\t"+strTemp[2]+"\t"+strTemp[3]+"\t"+strTemp[4]+"\t"+strTemp[5]);
            }
        }
    }
    
    0 0
相关问答

40

回答

[@徐雷frank][¥20]什么是JAVA的平台无关性

大河人家 2018-10-29 23:55:20 144292浏览量 回答数 40

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 223034浏览量 回答数 162

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 333893浏览量 回答数 8

13

回答

[@饭娱咖啡][¥20]我想知道 Java 关于引用那一块的知识

心意乱 2018-10-31 18:44:12 142145浏览量 回答数 13

110

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 292311浏览量 回答数 110

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 146804浏览量 回答数 22

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 643189浏览量 回答数 18

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 145641浏览量 回答数 31

10

回答

[@墨玖tao][¥20]为什么流式处理框架都是 java 写成的,JVM 是不是在流和批存在着特殊优势。还有分布式资源调度,感觉Mesos 的成长速度跟不上 Yarn。这是为什么?

管理贝贝 2018-10-23 13:18:03 136137浏览量 回答数 10

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 204022浏览量 回答数 2
2728
文章
6591
问答
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载