java - 在 Java 中从 ArrayList 生成序列号

标签 java arraylist sequence

如何生成序列号并将其分配给java中的每个对象?

例如我有以下内容,

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

public class MyMaxUDOComparable
{

    public static Integer findMaxScore(List<testVO> emps)
    {
        Integer maxScoreTotal = 0;

        for (Iterator<JobFitSurveyConfigVO> iterator = emps.iterator(); iterator.hasNext();)
        {
            testVOempl = (testVO) iterator.next();

            if (empl != null)
            {
                maxScoreTotal += empl.getSalary();
            }

        }
        return maxScoreTotal;
    }

    public static void main(String a[])
    {

        List<testVO> emps = new ArrayList<testVO>();
        emps.add(new testVO(10, "Raghu", 10,1));
        emps.add(new testVO(120, "Krish", 10,2));
        emps.add(new testVO(210, "John", 10,3));
        emps.add(new testVO(150, "Kishore", 10,4));
        testVOmaxSal = Collections.max(emps);

        System.out.println("Employee with max Id: " + maxSal);
        System.out.println("maxScoreTotal: " + findMaxScore(emps));
    }
}

class testVOimplements Comparable<testVO>
{

    private Integer id;
    private String name;
    private Integer salary;
    private Integer sequenceNumber;

    public testVO(Integer id, String name, Integer sal,Integer sequenceNumber) {
        this.id = id;
        this.name = name;
        this.salary = sal;
    }

    public Integer getId()
    {
        return id;
    }
    public void setId(Integer id)
    {
        this.id = id;
    }
    public String getName()
    {
        return name;
    }
    public void setName(String name)
    {
        this.name = name;
    }
    public Integer getSalary()
    {
        return salary;
    }
    public void setSalary(Integer salary)
    {
        this.salary = salary;
    }

    public Integer getSequenceNumber()
    {
        return sequenceNumber;
    }

    public void setSequenceNumber(Integer sequenceNumber)
    {
        this.sequenceNumber = sequenceNumber;
    }

    @Override
    public int compareTo(JobFitSurveyConfigVO emp)
    {

        return this.id.compareTo(emp.getId());
    }
    public String toString()
    {
        return id + "  " + name + "   " + salary;
    }
}

在上面的类中,我已为序列号的所有对象分配了值,如果我从列表中删除任何对象,则序列号必须重新生成。

如何在java中执行此操作,有人可以帮助我吗?

最佳答案

public void deleteObjFormList(JobFitSurveyConfigVO emp,List<JobFitSurveyConfigVO> emps)
    {
        int i = emps.indexOf(emp);
        emps.remove(i);
        for(int j=i;j<emps.size();j++)
        {
            JobFitSurveyConfigVO emp1 = emps.get(j);
            emp1.setSequenceNumber(emp1.getSequenceNumber()-1);
        }
        return;
    }

我这应该是一个从列表中删除对象的函数。

关于java - 在 Java 中从 ArrayList 生成序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32816392/

相关文章:

java - 在 Java 中调用接受数组或类列表的 Web 服务

java - 如何捕获java程序中的读取和写入?

java - 将对象添加到 ArrayList 的 ArrayList

SQL:检查约束/序列时出现问题

javascript - jQuery 按顺序对数组值进行排序

c# - 变形此序列的最优雅方式

java - 如何找到 PKCS#11 的实现和配置文件

java - 从另一个 Maven 项目调用测试类

java - 如何在 Java 中比较 arraylist<string> 与 arraylist<file>?

java - 如何在 ArrayList 中存储然后访问类对象?