gpt4 book ai didi

Java基于textField对arrayList进行排序

转载 作者:行者123 更新时间:2023-12-02 05:52:56 24 4
gpt4 key购买 nike

背景:我正在创建此员工记录应用程序,您可以在其中添加人员 ID、名字、姓氏、工资和开始日期。它由“添加”按钮、“删除”按钮、“列表”组合框和一个输出组成。

我需要帮助的是按 ID 对 arrayList 进行排序并在输出中显示排序后的版本。 `公共(public)类 EmployeeRecordsView 扩展了 FrameView{

    ArrayList <one> myList = new ArrayList <one>();
//List<one> records = new ArrayList<one>();
String iD, first, last, salary, startDate;
public EmployeeRecordsView(SingleFrameApplication app) {
//Cut out code
}

class one {
String iD, first, last, salary, startDate;
one (String _iD, String _first, String _last, String _salary, String
_startDate){
iD = _iD;
first = _first;
last = _last;
salary = _salary;
startDate = _startDate;
}
}
private void btnAddMouseClicked(java.awt.event.MouseEvent evt) {
one emp;
iD = id.getText();
first = firstName.getText();
last = lastName.getText();
salary = sal.getText();
startDate = start.getText();
emp = new one(iD, first, last, salary, startDate);
myList.add(emp);
}

private void btnRemoveMouseClicked(java.awt.event.MouseEvent evt) {
String remove;
remove = id.getText();
myList.remove(remove);
}

private void btnExitMouseClicked(java.awt.event.MouseEvent evt) {
System.exit(0);
}


private void jComboBox1MouseClicked(java.awt.event.MouseEvent evt) {
if (jComboBox1.getSelectedItem() == "Order of Addition"){
String temp="";

for (int x=0; x<=myList.size()-1; x++) {
temp = temp + "ID#: " + myList.get(x).iD + ", "
+ "First Name: " + myList.get(x).first + ", "
+ "Last Name: " + myList.get(x).last + ", "
+ "Annual Salary: " + myList.get(x).salary + ", "
+ "Starting Date: " + myList.get(x).startDate + "\n";
}
outPut.setText(temp);
}

if (jComboBox1.getSelectedItem() == "ID"){
String temp="";
for (int x=0; x<=myList.size()-1; x++) {
temp = temp + "ID#: " + myList.get(x).iD + ", "
+ "First Name: " + myList.get(x).first + ", "
+ "Last Name: " + myList.get(x).last + ", "
+ "Annual Salary: " + myList.get(x).salary + ", "
+ "Starting Date: " + myList.get(x).startDate + "\n";
}
outPut.setText(temp);
}`
}

最佳答案

使用Collections.sort(List, Comparator) ,这将允许您通过使用Comparator以自定义方式对List进行排序。

因此,根据对一个类的轻微修改,添加一个 getter 来检索iD

class One {

String iD, first, last, salary, startDate;

One(String _iD, String _first, String _last, String _salary, String _startDate) {
iD = _iD;
first = _first;
last = _last;
salary = _salary;
startDate = _startDate;
}

public String getID() {
return iD;
}
}

你可以使用...

Collections.sort(myList, new Comparator<One>() {
@Override
public int compare(One o1, One o2) {
return o1.getID().compareTo(o2.getID());
}
});

现在请注意,这将以自然顺序对 ID 进行排序,即 1 不会出现在 10 之前,这就是 String 排序的方式有效...

关于Java基于textField对arrayList进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23377901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com