.List排序练习
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;
public class ListSortExercise {
/*
1.使用List实现类添加三本书,并遍历,打印如下效果
名称:xx 价格:xx 作者:xx
名称:xx 价格:xx 作者:xx
名称:xx 价格:xx 作者:xx
要求:
2.按照价格排序,从小到大(使用冒泡排序法)
3.要求使用ArrayList、LinkedList和Vector三种集合实现
*/
public static void main(String[] args) {
// ArrayList arrayList = new ArrayList();
// LinkedList arrayList = new LinkedList();
Vector arrayList = new Vector();
arrayList.add(new ScripturesBooks("西游记","吴承恩",20.0));
arrayList.add(new ScripturesBooks("三国演义","罗贯中",28.0));
arrayList.add(new ScripturesBooks("水浒传", "施耐庵", 20.8));
sort(arrayList);
for (Object o : arrayList) {
System.out.println(o);
}
}
public static void sort(List list){
for (int i = 0; i < list.size()-1; i++) {
for (int j = 0; j < list.size()-i-1; j++) {
ScripturesBooks o = (ScripturesBooks)list.get(j);
ScripturesBooks o1 =(ScripturesBooks)list.get(j + 1);
if(o.getBookPrice() > o1.getBookPrice()){
list.set(j,o1);
list.set(j+1,o);
}
}
}
}
}
class ScripturesBooks{
private String bookName;
private String authorName;
private double bookPrice;
public ScripturesBooks(String bookName, String authorName, double bookPrice) {
this.bookName = bookName;
this.authorName = authorName;
this.bookPrice = bookPrice;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getAuthorName() {
return authorName;
}
public void setAuthorName(String authorName) {
this.authorName = authorName;
}
public double getBookPrice() {
return bookPrice;
}
public void setBookPrice(double bookPrice) {
this.bookPrice = bookPrice;
}
@Override
public String toString() {
return "ScripturesBooks{" +
"bookName='" + bookName + '\'' +
", authorName='" + authorName + '\'' +
", bookPrice=" + bookPrice +
'}';
}
/*
运行结果:
ScripturesBooks{bookName='西游记', authorName='吴承恩', bookPrice=20.0}
ScripturesBooks{bookName='水浒传', authorName='施耐庵', bookPrice=20.8}
ScripturesBooks{bookName='三国演义', authorName='罗贯中', bookPrice=28.0}
*/
}