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”
展开
 我来答
wskfhvhc
2013-10-13 · TA获得超过692个赞
知道小有建树答主
回答量:307
采纳率:66%
帮助的人:303万
展开全部

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

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);
}
}
}
北极大英雄
2013-10-13
知道答主
回答量:2
采纳率:0%
帮助的人:2855
展开全部
先用String的split方法(分隔符是空格)把最后一个的数字得到,然后用最后一个的数字来排序(Arrays.sort),最后按排序后的数组输出,这样就可以达到目标了吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xnd09
2013-10-13 · TA获得超过201个赞
知道小有建树答主
回答量:350
采纳率:100%
帮助的人:94.3万
展开全部
得自己编写,先计算每行的和;存入一个数组;比较大小,得到行的顺序;按这个顺序,重组数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-10-13 · TA获得超过1243个赞
知道小有建树答主
回答量:2126
采纳率:55%
帮助的人:676万
展开全部
自己实现comparable接口
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式