Sort with method reference
Description
The following code shows how to sort with method reference.
Example
/*from w w w . jav a 2s .c o m*/
import static java.util.Comparator.comparing;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String...args){
List<Apple> inventory = new ArrayList<>();
inventory.addAll(Arrays.asList(new Apple(80,"green"), new Apple(155, "green"), new Apple(120, "red")));
inventory.sort(comparing(Apple::getWeight));
System.out.println(inventory);
}
}
class Apple {
private Integer weight = 0;
private String color = "";
public Apple(Integer weight, String color){
this.weight = weight;
this.color = color;
}
public Integer getWeight() {
return weight;
}
public void setWeight(Integer weight) {
this.weight = weight;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String toString() {
return "Apple{" +
"color='" + color + '\'' +
", weight=" + weight +
'}';
}
}
The code above generates the following result.