📅  最后修改于: 2023-12-03 15:31:31.999000             🧑  作者: Mango
在Java中,我们通常使用ArrayList来存储一组数据。但有时,我们需要对ArrayList中的元素进行排序。更具体地说,如果我们的ArrayList包含一组ArrayList(称为ArrayList of ArrayList),我们可能需要对其进行排序。
以下是对ArrayList of ArrayList进行排序的示例代码。
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class ArrayListSortExample {
public static void main(String[] args) {
ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> subList1 = new ArrayList<Integer>();
subList1.add(3);
subList1.add(1);
subList1.add(2);
ArrayList<Integer> subList2 = new ArrayList<Integer>();
subList2.add(7);
subList2.add(9);
subList2.add(8);
list.add(subList1);
list.add(subList2);
System.out.println("Before sorting:");
System.out.println(list);
Collections.sort(list, new Comparator<ArrayList<Integer>>() {
@Override
public int compare(ArrayList<Integer> list1, ArrayList<Integer> list2) {
return list1.get(0) - list2.get(0);
}
});
System.out.println("After sorting:");
System.out.println(list);
}
}
上述代码中,我们首先创建了一个ArrayList,其中包含两个子列表(即“ArrayList of ArrayList”)。
ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> subList1 = new ArrayList<Integer>();
subList1.add(3);
subList1.add(1);
subList1.add(2);
ArrayList<Integer> subList2 = new ArrayList<Integer>();
subList2.add(7);
subList2.add(9);
subList2.add(8);
list.add(subList1);
list.add(subList2);
然后,我们调用集合类的sort方法对ArrayList进行排序。我们使用了一个Comparator来比较两个ArrayList的值。在本例中,我们比较了两个子列表的第一个元素,以确定它们的顺序。
Collections.sort(list, new Comparator<ArrayList<Integer>>() {
@Override
public int compare(ArrayList<Integer> list1, ArrayList<Integer> list2) {
return list1.get(0) - list2.get(0);
}
});
最后,我们打印出排序后的ArrayList。
System.out.println("After sorting:");
System.out.println(list);
如果您需要对ArrayList of ArrayList进行排序,您可以使用Java中的集合类sort方法。在调用该方法时,您需要提供一个Comparator来比较两个ArrayList之间的值。
在本例中,我们比较了两个子列表的第一个元素,以确定它们的顺序。您可以根据自己的需求编写Comparator来确定两个子列表之间的比较逻辑。
在Java中,我们可以使用sort方法对ArrayList of ArrayList进行排序。通过提供自定义Comparator,您可以根据自己的需求编写ArrayList的排序逻辑。