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(集合,外部排序器);
建议使用外部排序器,可以方便灵活的换。。。。