Go to the home page  / Java  / Функциональное программирование  / Лямбда-выражения  / Синтаксис лямбды с опусканием фигурных скобок  / Пример с компаратором

Пример с компаратором

Igor Lazarevsky, 2022.02.09 7:49

Пример с компаратором

Полная запись

Collections.sort(list, (p1, p2) -> {
    return p1.name.compareTo(p2.name);
});

Короткая запись без фигурных скобок

Collections.sort(list, (p1, p2) -> p1.name.compareTo(p2.name));

Полный листинг кода:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Main4 {
    static class Product {
        int id;
        String name;
        double price;

        public Product(int id, String name, double price) {
            this.id = id;
            this.name = name;
            this.price = price;
        }
    }

    public static void main(String[] args) {
        List<Product> list = new ArrayList<Product>();

        list.add(new Product(1, "iPhone", 1000));
        list.add(new Product(3, "MacBook 16", 3500));
        list.add(new Product(2, "iMac", 3000));

        System.out.println("Sorting on the basis of name...");

        Collections.sort(list, (p1, p2) -> p1.name.compareTo(p2.name));
        for (Product p : list) {
            System.out.println(p.id + " " + p.name + " " + p.price);
        }
    }
}
Igor Lazarevsky, 2022.02.09 7:50