利用list集合实现将对象的价格进行排序
import java.util.*;
public class Test2 {
public static void main(String[] args) {
List list=new LinkedList();
// List list=new Vector();
// List list=new List();
list.add(new Book1("红楼梦","曹雪芹",100));
list.add(new Book1("西游记","吴承恩",10));
list.add(new Book1("三国演义","罗贯中",60));
list.add(new Book1("水浒传","施耐庵",80));
//对list进行遍历
for(Object obj :list){
System.out.println(obj);
}
sort(list);
System.out.println("排序之后的是:");
Iterator iterator=list.iterator() ;
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
//静态方法进行排序
public static void sort(List list){
int listSize= list.size();
for (int i=0;i<listSize-1;i++){
for(int j=0;j<listSize-1-i;j++){
//取出我们的对象 注意存入list中的数据是以对象的形式进行存储的 这个时候需要我们将其重新转换成Book
Book1 book=(Book1)list.get(j); //根据索引取出相对应的对象并进行相关的转型
Book1 book1=(Book1)list.get(j+1); //根据索引取出相对应的对象并进行相关的转型
//题述按照由小到大的顺序进行排列 所以需要在这里进行一个判断
if(book.getPrice()> book1.getPrice()){
list.set(j,book1);
list.set(j+1,book); //这个时候就只需要进行 set就可以
}
}
}
}
}
class Book1{
private String name;
private String author;
private int price ;
public Book1(String name, String author, int price) {
this.name = name;
this.author = author;
this.price = price;
}
public int getPrice() {
return price;
}
public void setName(String name) {
this.name = name;
}
public void setAuthor(String author) {
this.author = author;
}
public void setPrice(int price) {
this.price = price;
}
@Override
public String toString() {
return "名称:"+name+"\t \t价格:"+price+" \t\t作者:"+author;
}
}