This method returns a Comparator which compares the objects according to the keyExtractor function. The extractor function extracts a long sort key from the object of type T.
package com.logicbig.example.comparator;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ComparingLongExample {
public static void main(String... args) {
List<Record> list = createExampleRecords();
System.out.printf("before sort: %s%n", list);
Collections.sort(list, Comparator.comparingLong(Record::getId));
System.out.printf("after sort: %s%n", list);
}
private static List<Record> createExampleRecords() {
return Arrays.asList(
new Record(42000, "record 1"),
new Record(21000, "record 2"),
new Record(39000, "record 3")
);
}
private static class Record {
private long id;
private String desc;
public Record(long id, String desc) {
this.id = id;
this.desc = desc;
}
public long getId() {
return id;
}
public String getDesc() {
return desc;
}
@Override
public String toString() {
return "Record{" +
"id=" + id +
", desc='" + desc + '\'' +
'}';
}
}
}
Output
before sort: [Record{id=42000, desc='record 1'}, Record{id=21000, desc='record 2'}, Record{id=39000, desc='record 3'}]
after sort: [Record{id=21000, desc='record 2'}, Record{id=39000, desc='record 3'}, Record{id=42000, desc='record 1'}]