如何在Java中创建列表列表

时间:2020-02-23 14:35:03  来源:igfitidea点击:

在本教程中,我们将看到如何在Java中创建列表列表。

我们可以使用以下语法轻松创建列表列表

List<ArrayList<String>> listOfLists = new ArrayList<ArrayList<String>>(); 
或者

ArrayList<ArrayList<String>> listOfLists = new ArrayList<ArrayList<String>>();

使用情形1

当我们尝试读取CSV文件时,这通常是有用的,然后需要处理列表列表以将其获取到内存中,执行一些处理并将其写回另一个CSV文件。

让我们拍一个简单的例子查询列表列表。

package org.igi.theitroad;
 
import java.util.ArrayList;
import java.util.List;
 
public class JavaListOfListsMain {
 
	public static void main(String[] args) {
		List<ArrayList<String>> listOfLists = new ArrayList<ArrayList<String>>();
		ArrayList<String> list1 = new ArrayList<String>();
		list1.add("Delhi");
		list1.add("Mumbai");
		listOfLists.add(list1);
 
		ArrayList<String> anotherList = new ArrayList<String>();
 
		anotherList.add("Beijing");
		anotherList.add("Shanghai");
		listOfLists.add(anotherList);
 
		listOfLists.forEach((list)  -> 
		{
			list.forEach((city)->System.out.println(city));
		}
				);
	}
}

运行上面的程序时,我们将得到以下输出。

Delhi
Mumbai
Beijing
Shanghai

列表中列表的问题

你可以在下面实例化列表

List<List<String>> myList = new ArrayList<ArrayList<String>>();

不,你不能。
让我们了解它的原因。
假设我们有以下列表:

ArrayList<ArrayList<String>> list1 = new ArrayList<ArrayList<String>>();

现在假设你可以分配它

List<List<String>> list2 = list1.

现在,你应该能够这样做:

list2.add(new LinkedList<String>());

但这意味着我们刚刚将LinkedList添加到列表中,其元素仅由ArrayList添加。