如有动态数组String[] str=new String[]{"001=0","002=0","003=0","004=0","005=0"},
String[] s=new String[]{"004=20"," 005=10"," 002=20"}(如有”=“前面相同元素,则先求和)
用s数组去覆盖str数组中,”=“前面相同的元素,并按照str排序,需要结果如下:
String temp="001=0,002=20,003=0,004=20,005=10";
大侠们,请问这个问题怎么解决呢?
javaString动态数组覆盖,并按照某数组规定来排序,返回String。
答案:1 悬赏:20 手机版
解决时间 2021-12-19 13:49
- 提问者网友:不爱我么
- 2021-12-18 19:45
最佳答案
- 五星知识达人网友:青灯有味
- 2021-12-18 20:25
你把数组按照=分割不就行了,两个数组分别存前边的名称和后边的值,当然也可以用map
我写的这个没在eclipse里写,可能会有语法错误,你看看思路就行了……
Array<String> arr = new Array<String>();
Array<Integer> arr2 = new Array<Integer>();
boolean flag = false;
for (int i=0;i<str.length;i++){
flag = false;
String a = str[i].split("=")[0];
String b = str[i].split("=")[1];
for(int j=0;j<arr.length;j++){
if(arr[j].equal(a)){
arr2[j]+=Integer.valueOf(b);
flag = true;
}
}
if(!flag){
arr.push(str[i].split("=")[0]);
arr2.push(Integer.valueOf(b));
}
}
我写的这个没在eclipse里写,可能会有语法错误,你看看思路就行了……
Array<String> arr = new Array<String>();
Array<Integer> arr2 = new Array<Integer>();
boolean flag = false;
for (int i=0;i<str.length;i++){
flag = false;
String a = str[i].split("=")[0];
String b = str[i].split("=")[1];
for(int j=0;j<arr.length;j++){
if(arr[j].equal(a)){
arr2[j]+=Integer.valueOf(b);
flag = true;
}
}
if(!flag){
arr.push(str[i].split("=")[0]);
arr2.push(Integer.valueOf(b));
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯