当前位置: 首页 > 知识库问答 >
问题:

基于textField的Java排序arrayList

焦兴为
2023-03-14
    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);
     }`
    }

共有1个答案

封俊艾
2023-03-14

使用collections.sort(List,Comparator),通过使用Comparator,可以对列表进行自定义排序。

因此,根据对一个类的轻微修改,包含一个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());
    }
});
 类似资料:
  • 问题内容: 我在Java中具有以下哈希图: 我应该如何对哈希图进行排序,以便考虑字母和数字? 生成的哈希图应如下所示: 感谢帮助! 问题答案: 使用排序: 它将自动放置按键排序的条目。我认为自然排序适合你的情况。 注意,由于查找优化,不会保留顺序。

  • 问题内容: 可以说我有这样的表: 我想得到的是这样的表: 发生的第一件事是基于column进行排序。 发生的第二件事是基于列的,但仅基于列中具有相同数字的行 在不使用任何数据库引擎的情况下应该如何解决此问题? 问题答案: 通常,通常使用where 是包含所有三个值的类型(例如,“ foo”,第一行的5、0)来执行此操作。 然后,您将编写一个比较在中呈现给它的两个对象的Int1值的,如果给出了明确的

  • 我有一个对象的,需要根据进行排序。 列表中的每个对象都包含以下内容 现在,假设我想先按“”下单,然后按“”下单。所以苹果排名第一,芒果紧随其后。 我可以做一个普通的asc/desc排序,但这是不够的。也可以使用apache公共资源来做上面的排序?

  • 问题内容: 我们有一个枚举 此外,我们还有一个包含字符串的列表。有没有一种方法可以根据枚举定义的顺序(而不是自然顺序)对列表进行排序。 排序后的列表应为。 问题答案: 器具通过枚举(其中值声明的顺序)的自然顺序。如果仅通过解析创建枚举值(而不是字符串)的列表,则使用对该列表进行排序,它应该按照您想要的方式进行排序。如果您再次需要一个字符串列表,则可以通过调用每个元素来转换回来。

  • 当我在ListView中获取数据时,以相同的顺序获取数据,但如果我希望基于MemberID对数据进行排序,但我希望在顶部显示最近的数据,该怎么办

  • 问题内容: 我想基于一个隐藏列对行进行排序。 说我有一个像这样的JTable 现在,我还有一个隐藏的column3,但我不想显示。当用户单击Column2时,应基于Column3(隐藏列)而不是基于Column2对行进行排序。 如何在JTable中实现呢? 问题答案: 您可以默认将TableRowSorter添加到JTable中,但是有RowSorter,没有什么比Darryl的Multisort