gpt4 book ai didi

java - 对包含字母数字和字母的 vector 分量进行数字排序

转载 作者:行者123 更新时间:2023-12-01 23:49:56 25 4
gpt4 key购买 nike

有没有办法对 vector 进行数字排序?(我想对第一个;(分号)之前的数字进行排序

我需要这么说(它是一个带有 4 个字符串/组件的 vector )

[
7394;dasd;dasda;dasda;5;3

2222;dasdasd;das;true;7;4;dsda;60

6660;dsada;dasasd;true;6;3

2345;dasdsagfd;das;true;7;4;gfgfdgd;60
]

变成这样

[
2222;dasdasd;das;true;7;4;dsda;60

2345;dasdsagfd;das;true;7;4;gfgfdgd;60

6660;dsada;dasasd;true;6;3

7394;dasd;dasda;dasda;5;3
]

或者这个[3123;dasdas;31;31 1115;das;31;312 4412;sdf;31;42]

[1115;das;31;312 3123;dasdas;31;31 4412;sdf;31;42](我按数字对 3123、1115 和 4412 进行排序,但我仍然保留后面的内容)

我想过将每个组件转换为字符串,然后执行以下操作:

int count;
for(int i=0;i<string_component1.length();i++){
if(Character.isDigit(string_component1.charAt(i)){
count = i;
break;
}
}

然后使用子字符串我会取出我想要的部分,将其放在字符串上,将其转换为整数,然后我会取出第一个(最低的),使用 vector 包含来查找其中的组件位于其中,并取出该组件将其放在新 vector 的第一个位置上。等等与其他组件

但我认为它的代码太多了,而且它不起作用,因为 vector 大小可以是 3 或 50。

最佳答案

Is there any way to sort a vector numerically?(i want to sort the number before the first ; (semicolon) )

java.util.Vector 进行排序的一般模式是实现 Comparator并将其传递给Collections.sort()方法。所有排序逻辑都可以放入 compare() 中。 Comparator 的方法。在你的情况下,它可能看起来像这样:

public static void main(String[] args) {
String[] input = {"7394;dasd;dasda;dasda;5;3", "2222;dasdasd;das;true;7;4;dsda;60",
"6660;dsada;dasasd;true;6;3", "2345;dasdsagfd;das;true;7;4;gfgfdgd;60"};
Vector<String> vec = new Vector<>();
vec.addAll(Arrays.asList(input));
System.out.println("Input : " + vec);

Collections.sort(vec, new Comparator<String>() {

@Override
public int compare(String o1, String o2) {
int i1 = Integer.valueOf(o1.split(";")[0]);
int i2 = Integer.valueOf(o2.split(";")[0]);

return i1 - i2;
}
} );

System.out.println("Result: " + vec);
}

输出:

Input : [7394;dasd;dasda;dasda;5;3, 2222;dasdasd;das;true;7;4;dsda;60, 6660;dsada;dasasd;true;6;3, 2345;dasdsagfd;das;true;7;4;gfgfdgd;60]
Result: [2222;dasdasd;das;true;7;4;dsda;60, 2345;dasdsagfd;das;true;7;4;gfgfdgd;60, 6660;dsada;dasasd;true;6;3, 7394;dasd;dasda;dasda;5;3]

关于java - 对包含字母数字和字母的 vector 分量进行数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16435262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com