我有一个字符串数组,该字符串包含3个我想排序的小节。参见下面的示例
String[] teams = new String[5];
teams[0] = "Header1";
teams[1] = "Candy";
teams[2] = "Apples";
teams[3] = "Fruit";
teams[4] = "Header2";
teams[5] = "Candy";
teams[6] = "ZZZ";
teams[7] = "Fruit";
teams[8] = "E";
teams[9] = "Header3";
teams[10] = "C";
teams[11] = "T";
teams[12] = "A";
我想对每个小节进行排序,同时保留Headers1-3。我是否应该根据已知条目(Headers1-3)将数组分解为3个子数组,而仅使用array.sort,还是我不知道有一种更简单的方法?请注意,我的字符串数组是固定长度的条目,并且每个Header处于已知位置(即Header 2始终位于位置4)。
答案 0 :(得分:4)
我认为你快到了。使用Arrays.sort
并指定索引似乎最简单。
public static void sort(int[] arr, int from_Index, int to_Index)
范围定义如下
要排序的范围从索引fromIndex(包括端值)到索引toIndex(不包括端值)。
在此示例中,使用以下代码:
Arrays.sort(teams,1,4);
Arrays.sort(teams,5,9);
Arrays.sort(teams,10,13);
for (String s : teams) {
System.out.println(s);
}
产生以下输出:
Header1
Apples
Candy
Fruit
Header2
Candy
E
Fruit
ZZZ
Header3
A
C
T
我建议不要那样保留数据集,因为有更好的方法来组织数据,而不是将数据放入单个数组中。