日期:2014-05-20  浏览次数:20833 次

JAVA容器排序问题
import java.io.*;
import java.util.*;


class Person{
public String name;
public int salary;
public Person(String name, int salary) {
this.name = name; 
this.salary = salary;
}
}


public class Test {
public static void main(String[] args) {
FileReader fr = null;
FileWriter fw = null;
ArrayList c  = new ArrayList();

int i = 0;
int j = 0;

String save;
String[] temp;

try{
fr = new FileReader("C:\\test\\source.txt");
//LineNumberReader br = new LineNumberReader(fr);
BufferedReader br = new BufferedReader(fr);
while ((save = br.readLine()) != null) {
temp = save.split(" ");
c.add(new Person(temp[0], Integer.parseInt(temp[1])));
//Collections.sort(c);
Person[] p = new Person[1];
//Arrays.sort(p);
}
}catch(FileNotFoundException e){
System.out.println("文件打开失败!");
System.exit(-1);
//br.close();
}catch (IOException e) {
      System.out.println("文件读取错误!");
      System.exit(-1);
     
                       System.exit(-1);


}
}




java string

------解决方案--------------------
java.util.Connections.sort(List list,Comparator a )
Person实现Comparable接口就好了
------解决方案--------------------
2种方法一:使用内部排序器.Person类实现compable接口则可以实现Collections.sort(c);的排序
方法二:使用外部排序器:定义一个专门的排序类实现compator接口然后调用Collections.sort(集合,外部排序器);
建议使用外部排序器,可以方便灵活的换。。。。