2013-04-22 97 views
-4

我已經編寫了如下程序。我想根據類播放器中的字符串a對鏈表進行排序。對包含對象的java中的鏈表進行排序

現在輸出

nagpur rathi 
akola ashwin 

但與可變a排序後應該

akola ashwin 
nagpur rathi 

的代碼如下:

package link.demo; 

public class Player 
{ 
    String a,b; 

    Player() 
    { 
    } 

    Player(String city,String name) 
    { 
     a=city; 
     b=name; 
    } 
} 

package link.demo; 

import java.util.Iterator; 
import java.util.LinkedList; 

public class Linkdemo 
{ 
    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args)throws Exception 
    { 
     // TODO code application logic here 
     Player b=new Player("nagpur","rathi"); 
     Player c=new Player("akola","ashwin"); 
     //player temp=new player(); 
     LinkedList<Player> l= new LinkedList<Player>(); 

     l.add(b); 
     l.add(c); 

     Iterator<Player> itr=l.iterator(); 

     while(itr.hasNext()) 
     { 
      Player temp=itr.next(); 
      System.out.println(temp.a+" "+temp.b); 
     } 
    } 
} 
+2

Collections.sort並重寫要排序的類(player)中的compareTo方法。這可能很容易被搜索到 – 2013-04-22 11:03:12

+0

好的。 我會嘗試重寫compareTo方法 – ashwinbhy 2013-04-22 11:03:54

回答

1

好了,玩家(數據)類必須實現Comparable。作爲http://docs.oracle.com/javase/6/docs/api/java/lang/Comparable.html

表示此接口規定了實現它的每個類 的對象進行整體排序。這種排序被稱爲類的 自然排序,而類的compareTo方法被稱爲 其自然比較方法。

實現此接口的對象的列表(和數組)可以是 ,由Collections.sort(和Arrays.sort)自動排序。

因此,執行此操作後,您可以調用Collections.sort(l)。我推薦閱讀http://www.onjava.com/pub/a/onjava/2003/03/12/java_comp.html,這會教你基本知識。

相關問題