1、背景
List对象定义形式和现有的值如下所示。
List<Test> testList = new ArrayList<>(); [{ "ISDEL": "", "ATNAM": "Z008_80_PC_4270Y153", "AEDTM": "20230808", "MATNR": "80.PC-4270" }, { "ISDEL": "", "ATNAM": "Z008_80_PC_4270Y153", "AEDTM": "20230808", "MATNR": "80.PC-4270" }, { "ISDEL": "", "ATNAM": "Z008_80_PC_4270Y153", "AEDTM": "20230808", "MATNR": "81.PC-4271" }, { "ISDEL": "", "ATNAM": "Z007_80_PC_4270Y154", "AEDTM": "20230808", "MATNR": "80.PC-4270" }]
2、目的
如果ATNAM和MATNR都一样,就认为list中的这两条记录是一样的。
3、去重
//通过MATNR+ATNAM作为唯一标识去重
List<Test> testListOnly = removeDuplicates(testList); private List<Test> removeDuplicates(List<Test> testList) { Set<String> uniqueIdentifiers = new HashSet<>(); List<Test> result = new ArrayList<>(); for (Test test : testList) { String identifier = test.getMatnr() + test .getAtnam(); if (!uniqueIdentifiers.contains(identifier)) { uniqueIdentifiers.add(identifier); result.add(test); } } return result; }
4、结果
[{ "ISDEL": "", "ATNAM": "Z008_80_PC_4270Y153", "AEDTM": "20230808", "MATNR": "80.PC-4270" }, { "ISDEL": "", "ATNAM": "Z008_80_PC_4270Y153", "AEDTM": "20230808", "MATNR": "81.PC-4271" }, { "ISDEL": "", "ATNAM": "Z007_80_PC_4270Y154", "AEDTM": "20230808", "MATNR": "80.PC-4270" }]
标签:
Java集合
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)