怎么才能去除arraylist重复原生并计数

Chills7191 2016-04-14 12:29:57
编号 数量

1234 1
1991 1
1234 1
1991 1
1234 1
1991 1


1234 3
1991 3

现在在往txt文档写入数据,现在上面的那个集合对象的值是有重复的,现在怎么才能实现下面的结果,把1234的数量设为3,1991的数量设为3?
...全文
116 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
scmod 2016-04-14
  • 打赏
  • 举报
回复
用map,key生日,value++
bree06 2016-04-14
  • 打赏
  • 举报
回复
java8下测试.

import java.util.ArrayList;
import java.util.List;
import java.util.TreeSet;
import java.util.stream.Collectors;

public class Demo32 {

    public static void main(String[] args) {
        // TEST DATA
        List<PNode> list = new ArrayList<PNode>();
        list.add(new PNode("1234", 1));
        list.add(new PNode("1234", 1));
        list.add(new PNode("1234", 1));
        list.add(new PNode("1991", 1));
        list.add(new PNode("1234", 2));
        list.add(new PNode("1991", 10));
        list.add(new PNode("1991", 10));
        list.add(new PNode("1234", 3));
        list.add(new PNode("a", 2));
        list.add(new PNode("b", 12));
        list.add(new PNode("a", 1));

        TreeSet<PNode> tsNode = list.parallelStream().collect(Collectors.toCollection(() -> new TreeSet<PNode>((x, y) -> {
            if (x == y) return 0;
            int _t = x.getNo().compareTo(y.getNo());
            if (_t == 0) {
                int t = x.getTotal() + y.getTotal();
                x.setTotal(t);
                y.setTotal(t);
            }
            return _t;
        })));

        tsNode.forEach(System.out::println);
    }

}

class PNode {
    private String no;
    private int total;

    public PNode() { };

    public PNode(String no, int total) {
        this.no = no;
        this.total = total;
    }

    public String getNo() {
        if (no == null) {
            no = "";
        }
        return no;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public int getTotal() {
        return total;
    }

    @Override
    public String toString() {
        return String.format("{\"no\": \"%s\", \"total\": %d}", getNo(), total);
    }
}
  • 打赏
  • 举报
回复
1楼+1.。。
小白云天 2016-04-14
  • 打赏
  • 举报
回复
可以先将list转化成set,得到无重复元素的集合。再用迭代器,取出set里元素,每取出一个元素将list遍历一遍,并得到每个元素的数量。
目 录、摘 要 I、Abstract II、目 录 III、第1章 绪论 1、1.1 课题背景 1、1.2 设计原则 1、1.3 研究内容 2、第2章 关键技术简介 3、2.1 Java技术 3、2.2 Spring Boot框架 3、2.3 B/S结构 3、2.4 MYSQL数据库 4、第3章 系统分析 5、3.1 可行性分析 5、3.1.1 技术可行性 5、3.1.2 经济可行性 5、3.1.3 操作可行性 5、3.1.4 时间可行性 5、3.2 系统功能分析 6、3.3 系统性能分析 7、3.4 系统流程分析 8、3.4.1注册流程 8、3.4.2登录流程 8、3.4.3购买流程 9、第4章 系统设计 10、4.1 系统结构设计 10、4.2系统顺序图 10、4.2.1登录模块顺序图 10、4.2.2添加信息模块顺序图 11、4.3 数据库设计 12、4.3.1 数据库E-R图设计 12、4.3.2数据库表设计 14、第5章 系统的实现 18、5.1 用户功能模块的实现 18、5.1.1用户注册界面 18、5.1.2用户登录界面 18、5.1.3个人中心界面 19、5.1.4商品详情界面 20、5.1.5购物车界面 20、5.1.6我的订单界面 21、5.1.7我的地址界面 21、5.2 管理员功能模块的实现 21、5.2.1管理员登录界面 21、5.2.2商家管理界面 22、5.2.3用户管理界面 23、5.2.4商品分类管理界面 23、5.3 商家功能模块的实现 24、5.3.1商品信息管理界面 24、5.3.2添加商品信息界面 24、第6章 系统测试 25、6.1 程序测试 25、6.2 测试方案计划 25、6.3 测试方法 26、6.4 测试分析 26、第7章 总结 27、参考文献 28、致 谢 29

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧