排序对象是链表,输出时也应输出链表,已经排序。
import java.util.*;
public class MyShop {
public static void main(String[] args){
LinkedList goodsList = new LinkedList();
//init the goods
int goodsNum=3;
MyGoods[] goods = new MyGoods[goodsNum];
goods[0] = new MyGoods("C01",1);
goods[1] = new MyGoods("D01",3);
goods[2] = new MyGoods("E01",2);
//add item
for (int i = 0; i<goodsNum; i++) {
goodsList.add(goods[i]);
}
//sort
Collections.sort(goodsList);
//print the goods sorted
System.out.println(goodsList);
}
}class MyGoods implements Comparable {
private String id;
private int price;
MyGoods (String goodsId,int goodsPrice){
id = goodsId;
price = goodsPrice;
}
public String toString(){
return "ID: " + id + "\tPrice: " + price;
}
public int compareTo (Object obj){
MyGoods temp = (MyGoods)obj;
return this.price-temp.price;
}
}要排数组如下:
Arrays.sort(goods);
for (int i = 0; i<goodsNum; i++) {
System.out.println (goods[i]);
}
import java.util.*;
public class MyShop {
public static void main(String[] args){
LinkedList goodsList = new LinkedList();
//init the goods
int goodsNum=3;
MyGoods[] goods = new MyGoods[goodsNum];
goods[0] = new MyGoods("C01",1);
goods[1] = new MyGoods("D01",3);
goods[2] = new MyGoods("E01",2);
//add item
for (int i = 0; i<goodsNum; i++) {
goodsList.add(goods[i]);
}
//sort
Collections.sort(goodsList);
//print the goods sorted
System.out.println(goodsList);
}
}class MyGoods implements Comparable {
private String id;
private int price;
MyGoods (String goodsId,int goodsPrice){
id = goodsId;
price = goodsPrice;
}
public String toString(){
return "ID: " + id + "\tPrice: " + price;
}
public int compareTo (Object obj){
MyGoods temp = (MyGoods)obj;
return this.price-temp.price;
}
}要排数组如下:
Arrays.sort(goods);
for (int i = 0; i<goodsNum; i++) {
System.out.println (goods[i]);
}
LinkList本身就是排序的
System.out.println (goodsList.get(i));
}
如果你用ArrayList就可以了
LinkList本身就是排序的
^^^^^^^^ ^^^^^^^^排序前你输出goodsList看
LinkedList如果问题解决,请楼主结贴。