List指定位置删除并插入新元素

List指定位置删除并添加

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class TextDemo1 {

public static void main(String[] args) {
	//创建集合对象
	List list = new ArrayList();
	
	//添加元素
	list.add("hello");
	list.add("music");
	list.add("woo");
	
	//方法一:迭代器迭代元素,迭代器修改元素
	//由于Iterator迭代器没有添加功能,所以使用其子类ListIterator

// ListIterator lit = list.listIterator();
// while(lit.hasNext()) {
// String s = (String)lit.next();
// if (“music”.equals(s)) {
// lit.add(“hhaha”);
// }
// }
// System.out.println(“list:”+list);

	//方式二,集合遍历元素集合修改元素
	for(int x=0;x<list.size();x++) {
		String s = (String)list.get(x);
		if("music".equals(s)) {
		list.add("javaee");
		}
	}
	System.out.println("list:"+list);
}

}

原文链接:https://blog.csdn.net/xiaoxin1024/article/details/80327126
下面为自己具体操作:
package cn.project.monitor.service.impl;

import cn.project.monitor.entity.FormTableMain1091Dt1;
import cn.project.monitor.mapper.FormTableMain1091Dt1Mapper;
import cn.project.monitor.service.FormTableMain1091Dt1Serivce;
import cn.project.monitor.service.ex.FormTableMainNullEcxeption;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.sql.ClientInfoStatus;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

@Service
public class FormTableMain1091Dt1SerivceImpl implements FormTableMain1091Dt1Serivce {

@Autowired
FormTableMain1091Dt1Mapper mapper;

@Override
public List<FormTableMain1091Dt1> getAllByMainId(Integer id) {
    List<Integer> GQids = new ArrayList<>();
    //先查未更改过的阶段
    List<FormTableMain1091Dt1> result = mapper.findByMonitorId(id);
    if (result.size() == 0)
        throw new FormTableMainNullEcxeption("查询第一个立项阶段为空!");
    //查询有更改记录的阶段
    List<FormTableMain1091Dt1> resultChan = mapper.findByMainId(id);
    if (result.size() == 0){
        System.err.println("立项项目未有更改记录!");
        return result;
    }
    else{
        //获取更改后序列内GQid序列
        for (Iterator<FormTableMain1091Dt1> iterator = resultChan.iterator(); iterator.hasNext(); ) {
            FormTableMain1091Dt1 next = iterator.next();
            GQids.add(Integer.valueOf(next.getGQid()));
        }
        //GQid序列与更改后数据对比,删除旧的修改记录,序列仅存最新修改记录
        int count = 0;
        for (Integer gQid : GQids) {
            for (Iterator<FormTableMain1091Dt1> iterator = resultChan.iterator(); iterator.hasNext(); ) {
                FormTableMain1091Dt1 next = iterator.next();
                if (gQid == Integer.valueOf(next.getGQid()))
                    count++;
                if (count > 1){
                    iterator.remove();
                    count = 0;
                    continue;
                }
            }
            count = 0;
        }
        //对比两个集合,修改前的元素去重
        for (ListIterator<FormTableMain1091Dt1> iterator = result.listIterator(); iterator.hasNext(); ) {
            FormTableMain1091Dt1 next = iterator.next();
            for (Iterator<FormTableMain1091Dt1> formTableMain1091Dt1Iterator = resultChan.iterator(); formTableMain1091Dt1Iterator.hasNext(); ) {
                FormTableMain1091Dt1 formTableMain1091Dt1 = formTableMain1091Dt1Iterator.next();
                if (Integer.valueOf(formTableMain1091Dt1.getGQid()) == next.getId()){
                    iterator.remove();//先删除再添加
                    iterator.add(formTableMain1091Dt1);
                }
            }
        }
    }

// for (FormTableMain1091Dt1 formTableMain1091Dt1 : result) {
// System.err.println(formTableMain1091Dt1);
// }
// System.err.println(GQids);
// for (FormTableMain1091Dt1 formTableMain1091Dt1 : resultChan) {
// System.err.println(formTableMain1091Dt1);
// }
return result;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值