用Java代码实现排序大写数字
时间: 2023-03-19 18:20:58 浏览: 194
你可以使用 Arrays.sort() 方法来对大写数字进行排序,例如:String[] numbers = {"B","A", "C"}; Arrays.sort(numbers); 现在numbers数组中的数字将以字母顺序排列:A, B, C.
相关问题
数组内由大写字母和数字组成相同长度特征的字符串组成,用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。
最后,我们可以看到输出的结果是按照相同长度特征排序的。
List内由大写字母和数字组成相同长度特征的字符串组成,用Java 实现排序
可以使用Java内置的排序方法Arrays.sort()来排序,同时自定义比较器Comparator来实现按照字符串字典序排序。
代码示例:
```java
import java.util.Arrays;
import java.util.Comparator;
public class SortStringsWithDigits {
public static void main(String[] args) {
String[] arr = {"A1B3", "D2C1", "F4E2", "C3D1", "B2A4", "E1F3"};
Arrays.sort(arr, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
});
System.out.println(Arrays.toString(arr));
}
}
```
输出结果:
```
[A1B3, B2A4, C3D1, D2C1, E1F3, F4E2]
```
其中,自定义的比较器实现了按照字符串字典序进行比较,由小到大排序。这里假设所有字符串长度相同,否则需要在比较器中进行额外的处理。
阅读全文