题目要求:
创建一个图书类,里面有书名,价格,作者属性,乱序添加几本图书,最后按照书本价格从小到大的顺序冒泡排序打印在控制台
代码实现
public class ListTest {
public static void main(String[] args) {
List list = new ArrayList();
list.add(new book("水浒传1",99,"施耐庵"));
list.add(new book("水浒传2",9,"施耐庵"));
list.add(new book("水浒传3",9999,"施耐庵"));
list.add(new book("水浒传4",999,"施耐庵"));
for (Object o :list) {
System.out.println(o);
}
sort(list);
System.out.println("第二次遍历");
for (Object o :list) {
System.out.println(o);
}
}
//冒泡排序
public static void sort(List list){
int size = list.size();
for(int i=0;i<size-1;i++){
for(int j=0;j<size-1-i;j++){
book b1 = (book)list.get(j);
book b2 = (book) list.get(j+1);
if(b1.getPrice() > b2.getPrice()){
list.set(j,b2);
list.set(j+1,b1);
}
}
}
}
}
class book{
private String name;
private int price;
private String author;
public book(String name, int 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 int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
@Override
public String toString() {
return "book{" +
"name='" + name + '\'' +
", price=" + price +
", author='" + author + '\'' +
'}';
}
}