java字符串数组以关键字排序
比如说一串字符串数组“1113”“2349”“1124”我要将这串数组以最后一个的数字就是前面数字的和排序,输出整串的字符串,如何排序?用Arrays.sort貌似做不到...
比如说一串字符串数组
“1 1 1 3”
“2 3 4 9”
“1 1 2 4”
我要将这串数组以最后一个的数字就是前面数字的和排序,输出整串的字符串,如何排序?用 Arrays.sort貌似做不到
输出
“1 1 1 3”
“1 1 2 4”
“2 3 4 9” 展开
“1 1 1 3”
“2 3 4 9”
“1 1 2 4”
我要将这串数组以最后一个的数字就是前面数字的和排序,输出整串的字符串,如何排序?用 Arrays.sort貌似做不到
输出
“1 1 1 3”
“1 1 2 4”
“2 3 4 9” 展开
4个回答
展开全部
用对象数组的排序方法来做,下例已验证:
import java.util.*;
class T implements Comparable<T>{
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<T> list = new ArrayList<T>();
for(int i=0;i<arr.length;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);
}
}
}
展开全部
先用String的split方法(分隔符是空格)把最后一个的数字得到,然后用最后一个的数字来排序(Arrays.sort),最后按排序后的数组输出,这样就可以达到目标了吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
得自己编写,先计算每行的和;存入一个数组;比较大小,得到行的顺序;按这个顺序,重组数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己实现comparable接口
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询