gpt4 book ai didi

Java:根据 MyObject 变量对 ArrayList 进行排序

转载 作者:行者123 更新时间:2023-12-01 17:26:35 26 4
gpt4 key购买 nike

Possible Duplicate:
Sorting a collection of objects
Sorting an ArrayList of Contacts based on name?

问你一个简单的问题:

我有一个ArrayList<MyObject>充满MyObject对象。我希望它们根据整数变量 MyObject 进行排序.

是否有现成的方法来实现此目的,或者我必须自己编写快速排序/合并排序?

感谢您的宝贵时间,季米特里斯

最佳答案

您需要实现Comparable接口(interface)并重写compareTo。在下面的示例中,我假设有一个成员变量“name”,您将在其上比较对象。

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

class MyObject implements Comparable<MyObject>{
private String name;
private int id;

public String getName() {
return name;
}

public MyObject(String name, int id) {
super();
this.name = name;
this.id = id;
}
@Override
public int compareTo(MyObject o) {
return name.compareTo(o.getName());
}
@Override
public String toString() {
return name+"\t"+id+"\n";
}
}

public class Test {
public static void main(String[] args) {
List<MyObject> list = new ArrayList<MyObject>();
list.add(new MyObject("John", 10));
list.add(new MyObject("Mark", 11));
list.add(new MyObject("Steve", 9));
Collections.sort(list);
System.out.println("Sorted list is :"+list);
}
}

关于Java:根据 MyObject 变量对 ArrayList<MyObject> 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14509321/

26 4 0