Java中如何对分割后的字符串进行排序
时间: 2024-05-08 19:14:59 浏览: 129
可以使用Java中的Arrays.sort方法对分割后的字符串进行排序。首先将分割后的字符串存储在一个数组中,然后调用Arrays.sort方法进行排序。例如:
```
String str = "apple,banana,orange";
String[] fruits = str.split(",");
Arrays.sort(fruits);
System.out.println(Arrays.toString(fruits));
```
输出结果为:
```
[apple, banana, orange]
```
相关问题
java scanner输入字符串进行排序
在Java中,如果你想通过`Scanner`类获取用户输入的字符串并进行排序,可以按照以下步骤操作:
首先,创建一个`Scanner`对象以读取用户的输入:
```java
import java.util.Scanner;
import java.util.Arrays;
public class StringSortExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一些逗号分隔的字符串进行排序:");
}
}
```
然后,提示用户输入字符串,并使用`nextLine()`方法获取整个行的内容,之后分割成字符串数组,假设我们用逗号作为分隔符:
```java
String input = scanner.nextLine();
String[] stringArray = input.split(",");
```
接着对这个字符串数组进行排序。由于默认的排序方法会将字符串视为字符序列而不是字典序,我们可以先转换为整数数组(如果字符串代表数字),或者自定义一个比较器根据需要进行排序。这里以升序为例,使用`Arrays.sort()`函数:
```java
if (stringArray.length > 0) {
// 如果字符串可以转化为整数,例如数字
int[] numbers = Arrays.stream(stringArray)
.mapToInt(Integer::parseInt)
.toArray();
// 或者如果你需要基于其他规则自定义排序
// String[] sortedStrings = Arrays.copyOf(stringArray, stringArray.length);
// Arrays.sort(sortedStrings, Comparator.comparing(MyCustomComparator.class));
// 排序后的结果
Arrays.sort(numbers); // 对数字数组排序
// 再将结果转回字符串数组
stringArray = Arrays.stream(numbers)
.mapToObj(String::valueOf)
.toArray(String[]::new);
// 输出排序后的字符串
System.out.println("排序后的字符串为:");
for (String str : stringArray) {
System.out.print(str + ", ");
}
}
```
最后别忘了关闭`Scanner`对象:
```java
scanner.close();
```
使用java语言编写一个字符串排序程序,对一个字符串中的数值进行从小到大的排序,例如字符串为"20 7 8 9 -7 88 36 29",排序后的字符串为 "-7 9 20 2 9 36 78 88"。要求使用包装类对数值类型的字符串转换为整形进行排序。
在Java中,我们可以利用`StringTokenizer`将输入的字符串分割成数组,然后使用`Integer`的`parseInt()`方法将其转换为整数。接着,我们使用`Collections.sort()`方法配合自定义比较器,对整数数组进行排序。最后,再将排序后的整数转换回字符串并连接。
以下是一个简单的示例:
```java
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.StringTokenizer;
public class StringSort {
public static void main(String[] args) {
String input = "20 78 9 -7 88 36 29";
// 分割字符串为字符串数组
StringTokenizer tokenizer = new StringTokenizer(input);
String[] stringArray = new String[tokenizer.countTokens()];
for (int i = 0; i < stringArray.length; i++) {
stringArray[i] = tokenizer.nextToken();
}
// 将字符串转换为整型数组,并使用包装类Integer
Integer[] intArray = Arrays.stream(stringArray)
.mapToInt(Integer::parseInt)
.toArray();
// 对整型数组进行排序
Arrays.sort(intArray, Comparator.naturalOrder());
// 再次转换回字符串并连接
StringBuilder sortedStrBuilder = new StringBuilder();
for (Integer num : intArray) {
sortedStrBuilder.append(num).append(" ");
}
// 移除末尾多余的空格
sortedStrBuilder.setLength(sortedStrBuilder.length() - 1);
System.out.println("排序后的字符串:" + sortedStrBuilder.toString());
}
}
```
阅读全文
相关推荐
















