📜  java sort arraylist of arraylist - Java (1)

📅  最后修改于: 2023-12-03 15:31:31.999000             🧑  作者: Mango

Java中对ArrayList of ArrayList进行排序

在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的排序逻辑。