I'm trying to print an array of objects sorted by a property, in this case partDescription. I'm trying to use a stream.
public class ProcessInvoices {
public static void main(String[] args) {
List<Invoice> invoices = Arrays.asList(
new Invoice("83", "Electric sander", 7, 57.98),
new Invoice("7", "Sledge hammer", 11, 21.50),
new Invoice("77", "Hammer", 76, 11.99),
new Invoice("39", "Lawn mower", 3, 79.50),
new Invoice("68", "Screwdriver", 106, 6.99),
new Invoice("56", "Jig saw", 21, 11.00),
new Invoice("3", "Wrench", 34, 7.50)
);
List result = invoices.stream(partDescription).sorted().collect(Collectors.toList());
System.out.println(result);
}
}
And the class Invoice:
public class Invoice {
private final String partNumber;
private final String partDescription;
private int quantity;
private double pricePerItem;
public Invoice(String partNumber, String partDescription, int quantity,
double pricePerItem) {
this.quantity = quantity;
this.partNumber = partNumber;
this.partDescription = partDescription;
this.pricePerItem = pricePerItem;
}