gpt4 book ai didi

java - 如何按除第一个字母以外的所有内容对字符串数组进行排序

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

我的数组预计包含类似 "B1" 的元素和"C22"对于任何字母 A-Z和号码1-26 。我需要对这个数组进行数字排序,所以排序时我们不考虑字符串的第一个字符。这样就有一个数组{"B1", "A22", "C9"}将被排序为 {"B1", "C9", "A22"}

我尝试获取子字符串,但它不起作用,因为我不知道哪些字符串的长度为 3,哪些字符串的长度为 2。

最佳答案

您可以创建自己的比较器来忽略某些字符:

Arrays.sort(s, new MyComparator());
System.out.println(Arrays.toString(s));

class MyComparator implements Comparator<String> {


@Override
public int compare(String o1, String o2) {

// Remove the chars you are want to ignore from o1, o2
o1 = o1.substring(1);
o2 = o2.substring(1);
return Integer.compare(Integer.parseInt(o1),Integer.parseInt(o2));
// return o1.compareTo(o2); see petr note bellow
}
}

关于java - 如何按除第一个字母以外的所有内容对字符串数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60213183/

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