Как осуществить qSort на JAVA?
Не могу интегрировать алгоритм qSort в свой код. Нужно, что массив продуктов был отсортирован по ЦЕНЕ по возрастающей. Метод оставил пустым, так как не получается с ним разобраться.
import java.util.Scanner;
import java.util.Arrays;
import java.util.Comparator;
class Main {
public static void main(String[] args) {
Product[] products = {new Product(24, "Bread", "Soft and tasty"), new Product(15, "Bubble gum", "Makes u love it!"), new Product(95, "Chips", "So crispy, so yummy!")};
Arrays.sort(products);
System.out.println(Arrays.toString(products));
}
}
public class Product implements Comparable<Product> {
private String name;
private int price;
private String description;
public Product(int price, String name, String description) {
this.name = name;
this.price = price;
this.description = description;
}
void mySort(Product[] products) {
}
Ответы (1 шт):
Автор решения: AlekseiGaile
→ Ссылка
public static void main(String[] args) {
List<Product> products = Arrays.asList(new Product(24, "Bread", "Soft and tasty"), new Product(15, "Bubble gum", "Makes u love it!"), new Product(95, "Chips", "So crispy, so yummy!"));
List<Product> sortProduct = products.stream().sorted(Comparator.comparing(Product::getPrice)).collect(Collectors.toList());
sortProduct.forEach((c) -> System.out.println(c.getPrice()));
}
Чтобы заработало, в Ваш класс Product надо добавить геттеры и сеттеры.