在java中排序一个包含对象的链表



我编写的程序如下:我想在类播放器的字符串a的基础上排序链表。

现在输出是
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);
       }
    }
}

玩家(数据)类必须实现Comparable。如http://docs.oracle.com/javase/6/docs/api/java/lang/Comparable.html

所述

该接口对每个类的对象施加一个总的排序这就实现了它。这种排序称为类的排序类的compareTo方法被称为这是自然的比较方法。

实现此接口的对象列表(和数组)可以是按集合自动排序。

因此,在实现这个之后,您可以调用Collections.sort(l)。我建议阅读http://www.onjava.com/pub/a/onjava/2003/03/12/java_comp.html,它会教你基本知识。

相关内容

  • 没有找到相关文章

最新更新