java list合并相同数据为一条数据

这篇博客探讨了如何在Java中合并List中的相同数据,将重复项整合为一条记录。通过示例代码和解释,展示了有效处理和合并List数据的方法。
摘要由CSDN通过智能技术生成
//去除重复值
private IPage<SysLogNewsVO> getNewList(IPage<SysLogNewsVO> page,List<SysLogNewsVO> oldList){
	HashMap<String,SysLogNewsVO> tempMap = new HashMap<String,SysLogNewsVO>();
	List<SysLogNewsVO> currentPageList = new ArrayList<>();
	StringBuffer readUser=new StringBuffer();
	StringBuffer unReadUser=new StringBuffer();
	//去掉重复的key
	for(SysLogNewsVO vo : oldList){
		String temp = vo.getNewsTitle();
		if(tempMap.containsKey(temp)){
			SysLogNewsVO newPerson = new SysLogNewsVO();
			newPerson.setNewsTitle(tempMap.get(temp).getNewsTitle());
			newPerson.setNewsRecord(tempMap.get(temp).getNewsRecord());
			newPerson.setNewsType(tempMap.get(temp).getNewsType());
			newPerson.setTriggerModel(tempMap.get(temp).getTriggerModel());
			newPerson.setSendUser(tempMap.get(temp).getSendUser());
			newPerson.setSendTime(tempMap.get(temp).getSendTime());
			//合并相同key的value
			if(vo.getIsRead().equals("1")){
				readUs
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤将List中的多条重复数据合并: 1. 定义一个HashMap,将List中的每个元素作为key,出现的次数作为value,将所有元素都放入HashMap中。 2. 遍历HashMap,将出现次数大于1的元素合并一个元素,并将合并后的元素放入一个新的List中。 3. 遍历HashMap,将出现次数等于1的元素直接放入新的List中。 下面是Java代码示例: ```java List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("a"); list.add("c"); Map<String, Integer> map = new HashMap<String, Integer>(); for (String str : list) { if (map.containsKey(str)) { map.put(str, map.get(str) + 1); } else { map.put(str, 1); } } List<String> newList = new ArrayList<String>(); for (Map.Entry<String, Integer> entry : map.entrySet()) { if (entry.getValue() > 1) { String mergedStr = entry.getKey(); newList.add(mergedStr); } else if (entry.getValue() == 1) { newList.add(entry.getKey()); } } ``` 以上代码中,我们定义了一个List<String>类型的list,并向其中添加了多个重复的字符串。然后,我们定义了一个HashMap<String, Integer>类型的map,将list中的每个元素作为key,出现的次数作为value,将所有元素都放入了HashMap中。接着,我们遍历了HashMap,将出现次数大于1的元素合并一个元素,并将合并后的元素放入了一个新的List<String>类型的newList中。最后,我们遍历了HashMap,将出现次数等于1的元素直接放入newList中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值