gpt4 book ai didi

java - 对 'Index'数组进行排序

转载 作者:行者123 更新时间:2023-12-01 19:08:36 25 4
gpt4 key购买 nike

任何人都可以告诉什么是在 java 中对以下字符串“索引”数组进行排序的最佳(简单)方法

String [] menuIndex= { "0",
"1",
"2",
"3",
"0.0",
"0.0.1",
"0.0.0",
"0.0.4",
"14" ,
"14.0",
"0.1" };
I need the sorted array in the following format
0,
0.0,
0.0.0,
0.0.1,
0.0.4,
0.1,
1,
2,
3,
14,
14.0

请帮忙......

最佳答案

由于您的需求发生了变化,您自己的比较器是正确的解决方案。

import java.util.Arrays;
import java.util.Comparator;

public class MyCmp implements Comparator<String> {

@Override
public int compare(String o1, String o2) {
String[] parts1 = o1.split("\\.");
String[] parts2 = o2.split("\\.");
int max = Math.max(parts1.length, parts2.length);
for (int i = 0; i < max; i++) {
if (i < parts1.length && i < parts2.length) {
Integer i1 = Integer.parseInt(parts1[i]);
Integer i2 = Integer.parseInt(parts2[i]);
if (i1 == i2)
continue;
return i1.compareTo(i2);
}
if (i < parts1.length) {
return 1;
}
if (i < parts2.length) {
return -1;
}
}
return 0;
}

public static void main(String[] args) {
String[] menuIndex = { "0",
"1",
"2",
"3",
"0.0",
"0.0.1",
"0.0.0",
"0.0.4",
"14",
"14.0",
"0.1" };
Arrays.sort(menuIndex, new MyCmp());
System.out.println(Arrays.toString(menuIndex));
}

}

关于java - 对 'Index'数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9175603/

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