java字符串数组以关键字排序

2025-03-03 08:46:32
推荐回答(4个)
回答1:

用对象数组的排序方法来做,下例已验证:

import java.util.*;

class T implements Comparable{
private String s;
public T(String str){
this.s = str;
}
public int compareTo(T o) {
if(Integer.parseInt(this.s.substring(s.length()-1,s.length())) > Integer.parseInt(o.s.substring(o.s.length()-1,o.s.length()))){
return 1;
}else if(Integer.parseInt(this.s.substring(s.length()-1,s.length())) < Integer.parseInt(o.s.substring(o.s.length()-1,o.s.length()))){
return -1;
}else {
return 0;
}
}
public String toString(){
return s;
}
}
public class Test{
public static void main(String[] args){
String[] arr = {"1 1 1 3","2 3 4 9","1 1 2 4"};
List list = new ArrayList();
for(int i=0;i list.add(new T(arr[i]));
}
T[] t = list.toArray(new T[]{});
Arrays.sort(t);
print(t);

}
public static void print(T[] t){
for(T t1:t){
System.out.println(t1);
}
}
}

回答2:

先用String的split方法(分隔符是空格)把最后一个的数字得到,然后用最后一个的数字来排序(Arrays.sort),最后按排序后的数组输出,这样就可以达到目标了吧!

回答3:

得自己编写,先计算每行的和;存入一个数组;比较大小,得到行的顺序;按这个顺序,重组数组

回答4:

自己实现comparable接口