Java 将数组排序为子数组

Java 将数组排序为子数组,java,arrays,sorting,Java,Arrays,Sorting,我有一个字符串数组,它有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";

我有一个字符串数组,它有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";

我想在保留标题1-3的同时对每个小节进行排序。我应该根据已知条目Headers1-3将数组分解为3个子数组,然后只使用array.sort还是有一种我不知道的更简单的方法?注意我的字符串数组是一个固定长度的条目,每个标题都位于一个已知的位置,即标题2始终位于位置4

我想你就快到了。使用Arrays.sort和指定索引似乎是最简单的

public static void sort(int[] arr, int from_Index, int to_Index)
范围定义如下

要排序的范围从index fromIndex(包含)扩展到index 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

我建议不要这样保存数据集,因为有更好的方法来组织数据,而不是将数据放入单个数组。

我想你差不多做到了。使用Arrays.sort和指定索引似乎是最简单的

public static void sort(int[] arr, int from_Index, int to_Index)
范围定义如下

要排序的范围从index fromIndex(包含)扩展到index 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

我建议不要这样保存数据集,因为有更好的方法来组织数据,而不是将数据放入单个数组。

您应该了解对象和类。Java是一种面向对象语言。您应该有一个包含3个对象的列表。每个对象都有一个标题字符串,可能还有一个列表元素。现在,您可以轻松地对每个节对象中的每个列表进行排序。不要在同一数组或集合中混合不相关的内容。一般情况下不要使用数组,更喜欢集合。此外,在长度为5的数组中不能存储13个元素。您应该了解对象和类。Java是一种面向对象语言。您应该有一个包含3个对象的列表。每个对象都有一个标题字符串,可能还有一个列表元素。现在,您可以轻松地对每个节对象中的每个列表进行排序。不要在同一数组或集合中混合不相关的内容。一般情况下不要使用数组,更喜欢集合。此外,在长度为5的数组中不能存储13个元素。