这道题目中的第六题,对于我来说有些复杂,没有思绪,希望得到一些解释,最好带有代码和注释。谢谢谢谢 JAVA学习
package com.example.springboot;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* @创建时间: 2019/6/4
* @描述: Test
*/
public class Test {
public static void main(String[] args) {
Book b1=new Book("Web程序设计",69.0,"张三");
Book b2=new Book("Java程序设计",79.0,"李四");
Book b3=new Book("J2EE程序设计",59.0,"王五");
List<Book> list=new ArrayList<>();
list.add(b1);
list.add(b2);
list.add(b3);
for (Book item:list){
System.out.println("书名:"+item.getName()+",价格:"+item.getPrice());
}
// list=list.stream().collect(Collectors.toList());
Collections.sort(list, new Comparator<Book>() {
@Override
public int compare(Book o1, Book o2) {
// 升序
return o1.getPrice()>o2.getPrice()?1:-1;
// 降序
// return o1.getPrice()<o2.getPrice()?1:-1;
}
});
for (Book item:list){
System.out.println("书名:"+item.getName()+",价格:"+item.getPrice());
}
}
}
class Book {
private String name;
private double price;
private String author;
public Book(String name, double price, String author) {
this.name = name;
this.price = price;
this.author = author;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
Collections.sort(list, new Comparator<Book>() {
@Override
public int compare(Book o1, Book o2) {
return (int) o1.getPrice() - o2.getPrice();
}
});