我编写的程序如下:我想在类播放器的字符串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,它会教你基本知识。