Close

Java Collections - Comparator.comparingLong() Examples

Java Collections Java Java API 


Interface:

java.util.Comparator

java.util.ComparatorComparatorLogicBig

Method:

static <T> Comparator<T> comparingLong(ToLongFunction<? super T> keyExtractor)

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.


Examples


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'}]




See Also