@SuppressWarnings({"all"})
public static void main(String[] args) {
List list = new LinkedList();
// List list = new Vector();
// List list = new ArrayList();
list.add(new Book1("红楼小梦",35.5,"曹雪芹"));
list.add(new Book1("霸王别姬",98.5,"张艺谋"));
list.add(new Book1("一代妖姬",30.5,"未知"));
list.add(new Book1("前任三传",32.5,"郑恺"));
for (Object o :list) {
System.out.println(o);
}
Bubble(list);
System.out.println("=========排序后:========");
for (Object o :list) {
System.out.println(o);
}
}
//冒泡排序
public static void Bubble(List list){
for (int i = 0; i < list.size()-1; i++){
for (int j = 0; j < list.size()-i-1; j++) {
Book1 book1 = (Book1) list.get(j);
Book1 book2 = (Book1) list.get(j+1);
if(book1.getPrice()> book2.getPrice()){
list.set(j,book2);
list.set(j+1,book1);
}
}
}
}
}
class Book1{
private String name;
private double price;
private String author;
@Override
public String toString() {
return "名称:" +
name +
"\t\t价格:" + price +
"\t\t作者:" + 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;
}
public Book1(String name, double price, String author) {
this.name = name;
this.price = price;
this.author = author;
}
传送门:为什么这里不需要中间变量就可以直接使用冒泡排序?
为什么不懂wblist.set交换数据需要(or不需要)添加其他中间变量,两个例子告诉你-CSDN博客