I have a method reference question in Java.
I want to transform this lambda code:
Collections.sort(trends, (map1, map2) -> (int) ((long) map2.get("pageview") - (long) map1.get("pageview")));
How to use Integer::compareTo?
I have a method reference question in Java.
I want to transform this lambda code:
Collections.sort(trends, (map1, map2) -> (int) ((long) map2.get("pageview") - (long) map1.get("pageview")));
How to use Integer::compareTo?
Collections.sort(trends,
(map1, map2) -> {
Integer i1 = ((Long) map1.get("pageview")).intValue();
Integer i2 = ((Long) map2.get("pageview")).intValue();
return i2.copmareTo(i1);
}
);
In this way, you can conver your long values to Integers and compare them.
In order to user method reference "Integer::compareTo" try this:
Collections.sort(trends, Comparator.comparing( map -> -map.get("pageview").intValue(),
Integer::compareTo));