用Java代码实现排序大写数字
时间: 2023-03-19 07:20:58 浏览: 70
你可以使用 Arrays.sort() 方法来对大写数字进行排序,例如:String[] numbers = {"B","A", "C"}; Arrays.sort(numbers); 现在numbers数组中的数字将以字母顺序排列:A, B, C.
相关问题
List内由大写字母和数字组成相同长度特征的字符串组成,用Java 实现排序
可以使用Java中的Collections.sort()方法来对List进行排序,同时传入一个自定义的Comparator来定义排序规则。下面是一个示例代码:
```java
import java.util.*;
public class SortListByAlphaNum {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("A1C3E2");
list.add("B2D1F3");
list.add("C3A1E2");
list.add("D2B1F3");
System.out.println("Before sorting: " + list);
Collections.sort(list);
System.out.println("After sorting: " + list);
}
}
```
在上面的代码中,我们使用Collections.sort()方法来对List进行排序。由于List中元素都是由大写字母和数字组成的相同长度特征的字符串,因此可以直接使用默认的排序规则进行排序。运行这段代码,输出如下:
```
Before sorting: [A1C3E2, B2D1F3, C3A1E2, D2B1F3]
After sorting: [A1C3E2, B2D1F3, C3A1E2, D2B1F3]
```
如果需要按照由字母和数字组成的列排序,则需要使用自定义的Comparator,可以参考我之前回答的问题。
数组内由大写字母和数字组成相同长度特征的字符串组成,用Java 实现排序
您好,可以使用Java中的Arrays.sort()方法和Comparator接口来实现排序。以下是一个示例代码:
```java
import java.util.Arrays;
import java.util.Comparator;
public class StringSorter {
public static void main(String[] args) {
String[] arr = {"A1B2", "C3D4", "E5F6", "G7H8", "I9J10"};
Arrays.sort(arr, new StringComparator());
System.out.println(Arrays.toString(arr));
}
}
class StringComparator implements Comparator<String> {
@Override
public int compare(String s1, String s2) {
int len = s1.length();
for (int i = 0; i < len; i++) {
char c1 = s1.charAt(i);
char c2 = s2.charAt(i);
if (c1 != c2) {
return c1 - c2;
}
}
return 0;
}
}
```
在上述代码中,我们先定义了一个StringSorter类和一个StringComparator类。StringSorter类中定义了一个String类型的数组arr,数组中包含了一些由大写字母和数字组成相同长度特征的字符串。然后,我们使用Arrays.sort方法对这个数组进行排序,排序时需要传入一个Comparator类型的比较器,这里我们传入了我们自己定义的StringComparator对象。
在StringComparator类中,我们实现了Comparator接口的compare方法。在比较两个字符串时,我们先比较它们的第一个字符,如果不相等,则返回它们的ASCII码值之差;如果相等,则继续比较它们的下一个字符,直到比较完所有字符。如果两个字符串完全相等,则返回0。
最后,我们可以看到输出的结果是按照相同长度特征排序的。