Java如何将数字字符串按升序排序?
在以下示例中"2,5,9,1,10,7,4,8",我们将按升序对包含以下数字的字符串进行排序,以便获得的结果"1,2,4,5,7,8,9,10"。
package org.nhooo.example.util;
import java.util.Arrays;
import java.util.Collections;
public class SortStringNumber {
public static void main(String[] args) {
//我们有一些用逗号分隔的字符串。首先我们
//需要拆分它,以便我们可以获取每个数字。
String data = "2, 5, 9, 1, 10, 7, 4, 8";
String[] numbers = data.split(",");
//将字符串数字转换为Integer并将其放入
//整数数组。
Integer[] intValues = new Integer[numbers.length];
for (int i = 0; i < numbers.length; i++) {
intValues[i] = Integer.parseInt(numbers[i].trim());
}
//使用数字按升序对数字进行排序
//Collections.sort()方法。
Collections.sort(Arrays.asList(intValues));
//使用以下命令将排序后的数字转换回字符串
//StringBuilder对象。打印排序的字符串号。
StringBuilder builder = new StringBuilder();
for (int i = 0; i < intValues.length; i++) {
Integer intValue = intValues[i];
builder.append(intValue);
if (i < intValues.length - 1) {
builder.append(", ");
}
}
System.out.println("Before = " + data);
System.out.println("After = " + builder.toString());
}
}运行程序时,将获得以下输出:
Before = 2, 5, 9, 1, 10, 7, 4, 8 After = 1, 2, 4, 5, 7, 8, 9, 10