用java写一个方法,传入一个字符串数组,按照长度排序,如果长度相同就按照字母表顺序排序,不区分大小写
时间: 2023-05-26 08:06:24 浏览: 113
以下为Java代码实现:
```java
public static void sortStringArray(String[] arr) {
Arrays.sort(arr, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
int len1 = s1.length();
int len2 = s2.length();
if (len1 != len2) {
return len1 - len2; // 长度不同,按长度排序
} else {
// 长度相同,按字母表顺序排序(不区分大小写)
return s1.compareToIgnoreCase(s2);
}
}
});
}
```
该方法使用了Java中的Arrays.sort()方法和Comparator接口。在Comparator接口的实现中,首先比较了两个字符串的长度,如果长度不同则按长度排序;如果长度相同,则利用String类的compareToIgnoreCase()方法比较两个字符串的字典序。最后,使用Arrays.sort()方法将输入的数组按照自定义的排序规则进行排序。
相关问题
用java写一个方法,传入一个字符串数,按照字母表顺序排序,不区分大小写
以下是用Java语言实现的方法:
```java
public static String sortString(String str) {
char[] chars = str.toCharArray();
Arrays.sort(chars, String.CASE_INSENSITIVE_ORDER);
return new String(chars);
}
```
该方法将输入的字符串转换成字符数组,使用`Arrays`工具类的静态方法`sort()`和`String.CASE_INSENSITIVE_ORDER`比较器进行排序,最后返回排好序的字符串。
示例:
```java
String str = "ThisIsAnExampleString";
String sortedStr = sortString(str);
System.out.println(sortedStr);
// Output: aEEghiiilmnprssStTtx
```
用JAVA编写方法,传入一个字符串数组, 将其排序输出;
可以使用Java内置的排序算法来实现将字符串数组按字典序排序并输出。以下是一个示例代码:
```java
import java.util.Arrays;
public class ArraySorter {
public static void sortArray(String[] array) {
Arrays.sort(array);
}
public static void main(String[] args) {
String[] array = {"banana", "apple", "orange", "grape"};
System.out.println("原始数组:" + Arrays.toString(array));
sortArray(array);
System.out.println("排序后的数组:" + Arrays.toString(array));
}
}
```
运行该代码,输出结果会显示原始数组和排序后的数组。可以看到,通过调用`Arrays.sort()`方法,可以对字符串数组进行按字典序排序。
阅读全文