Date: 2016mar12
Update: 2025oct11
Language: Java
Keywords: Comparator
Q. Java: How to make my class work with Collections.sort()
A. Implement Comparable as shown in this full example:
import java.util.Collections;
import java.lang.Comparable;
import java.util.ArrayList;
class Demo {
static class MyEntry implements Comparable<MyEntry> {
private String mData;
public MyEntry(final String s) {
mData = s;
}
@Override
public int compareTo(MyEntry b) {
return mData.compareTo(b.mData);
}
@Override
public String toString() {
return mData;
}
}
public static final void main(String[] args) {
ArrayList<MyEntry> a = new ArrayList<MyEntry>();
a.add(new MyEntry("cherry"));
a.add(new MyEntry("banana"));
a.add(new MyEntry("apple"));
Collections.sort(a);
System.out.println("sorted=" + a);
}
}
Output:
sorted=[apple, banana, cherry]