在以下示例中"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