Java List嵌套List

在Java中,List是一种常见的数据结构,它可以用来存储一组有序的元素。通常情况下,List中存储的是相同类型的元素。但是在某些情况下,我们可能需要将List作为另一个List的元素进行存储,这就是嵌套List的概念。

嵌套List的定义

嵌套List是指在一个List中存储另一个List。在Java中,我们可以使用泛型来定义嵌套List。下面是一个嵌套List的示例代码:

List<List<Integer>> nestedList = new ArrayList<>();

在上述代码中,我们定义了一个名为nestedList的List对象,它的元素是一个List,而这个嵌套的List的元素是Integer类型的。

嵌套List的使用

使用嵌套List可以更灵活地存储和操作数据。我们可以像操作普通List一样,对嵌套List进行增删改查等操作。下面是一些对嵌套List进行常见操作的示例代码:

添加嵌套List元素

我们可以使用add方法向嵌套List中添加元素。下面的示例代码展示了如何向嵌套List中添加元素:

List<List<Integer>> nestedList = new ArrayList<>();
List<Integer> sublist1 = new ArrayList<>();
sublist1.add(1);
sublist1.add(2);
nestedList.add(sublist1);

List<Integer> sublist2 = new ArrayList<>();
sublist2.add(3);
sublist2.add(4);
nestedList.add(sublist2);

在上述代码中,我们首先创建了两个子List:sublist1sublist2,然后分别向它们中添加了不同的元素。最后,我们将这两个子List添加到了嵌套ListnestedList中。

获取嵌套List元素

我们可以使用索引来访问嵌套List中的元素。下面的示例代码展示了如何获取嵌套List中的元素:

List<List<Integer>> nestedList = new ArrayList<>();
List<Integer> sublist1 = new ArrayList<>();
sublist1.add(1);
sublist1.add(2);
nestedList.add(sublist1);

List<Integer> sublist2 = new ArrayList<>();
sublist2.add(3);
sublist2.add(4);
nestedList.add(sublist2);

int element = nestedList.get(0).get(1);
System.out.println(element);

在上述代码中,我们首先创建了两个子List:sublist1sublist2,然后分别向它们中添加了不同的元素。最后,我们通过get方法来获取嵌套List中的元素,nestedList.get(0)表示获取第一个子List,而nestedList.get(0).get(1)表示获取第一个子List中的第二个元素。

遍历嵌套List

我们可以使用嵌套的循环来遍历嵌套List中的元素。下面的示例代码展示了如何遍历嵌套List中的元素:

List<List<Integer>> nestedList = new ArrayList<>();
List<Integer> sublist1 = new ArrayList<>();
sublist1.add(1);
sublist1.add(2);
nestedList.add(sublist1);

List<Integer> sublist2 = new ArrayList<>();
sublist2.add(3);
sublist2.add(4);
nestedList.add(sublist2);

for (List<Integer> sublist : nestedList) {
    for (int element : sublist) {
        System.out.println(element);
    }
}

在上述代码中,我们首先创建了两个子List:sublist1sublist2,然后分别向它们中添加了不同的元素。最后,我们使用两层循环来遍历嵌套List中的元素,外层循环遍历子List,内层循环遍历子List中的元素。

嵌套List的应用场景

嵌套List在某些情况下非常有用。它可以用于处理二维数组、多级分类等数据结构。下面是一些嵌套List的应用场景: