排序对象是链表,输出时也应输出链表,已经排序。
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]);
    }

解决方案 »

  1.   

    如果你用ArrayList就可以了
    LinkList本身就是排序的
      

  2.   

    还有,下面输出的时候,怎么输出的是那个原来的数组阿,应该是你排序什么,就输出什么啊for (int i = 0; i<goodsList.size(); i++) {
    System.out.println (goodsList.get(i));
        }
      

  3.   

    回复人: blasterboy(自由给与我力量。支持O'Reilly) 
    如果你用ArrayList就可以了
    LinkList本身就是排序的
    ^^^^^^^^      ^^^^^^^^排序前你输出goodsList看 
    LinkedList如果问题解决,请楼主结贴。