JAVA-Multi-dimensional ArrayLists笔记

这个知识点我只找到外国人讲解的,不知道为什么中国人都不讲解,也不给个介绍。这都上了大学了,英文听力这块我还是很菜,而且还有不少专业术语,所以听不太懂。

正好老师讲了这个内容,就记个小笔记。如果有这个内容的好的讲解,麻烦评论区分享下,谢谢.

1.首先是个声明:

public static ArrayList<ArrayList<Integer>> List = new ArrayList<ArrayList<Integer>>();

2.然后是个示意图:
JAVA-Multi-dimensional ArrayLists笔记_第1张图片
我觉得这个应该很好懂,跟二维数组差不多,就是他可以动态开数组大小。

3.之前的声明,只开了二维数组列表的横向(纵向)空间,还没有开纵向(横向)空间,还要开纵向(横向)空间。

   int numberOfWeNeed=6; //可以提前写入,也可以输入,自己所需要的列数
		   for(int i=0;i<numberOfWeNeed;i++)
		   {
		      List.add(i,new ArrayList<Integer>()); //这样就开了6列,之后如果还需要添加别的列,可以再加
		   }
		   //比如再加三行
		   for(int i=1;i<=3;i++)
		   {
		      List.add(i,new ArrayList<Integer>());
		   }

4.输入数据

for(int i=0;i<=8;i++) //这是通过for循环,也可以Scanner方法自己输入
		   {
			   for(int j=0;j<=1;j++)
			   {
				   List.get(i).add(j); //获取第i行,加入2个数据,分别为0,1
			   }
		   }

通过Scanner方法自己输入:

 for(int i=1;i<=2;i++)
		   {
			   for(int j=0;j<=1;j++)
			   {
				   Scanner in=new Scanner(System.in);
				   int a=in.nextInt();
				   List.get(i).add(a);
			   }
		   }

运行截图:
JAVA-Multi-dimensional ArrayLists笔记_第2张图片
同时也可以看出如果不输入,数组列表默认为空。

5.一个完整的小样例

package First;

import java.util.*;

public class Main
{
	public static ArrayList<ArrayList<Integer>> List = new ArrayList<ArrayList<Integer>>();

	public static void main(String[] args)
	{
		   int numberOfWeNeed=6; //可以提前写入,也可以输入,自己所需要的列数
		   for(int i=0;i<numberOfWeNeed;i++)
		   {
		      List.add(i,new ArrayList<Integer>()); //这样就开了6列,之后如果还需要添加别的列,可以再加
		   }
		   //比如再加三行
		   for(int i=1;i<=3;i++)
		   {
		      List.add(i,new ArrayList<Integer>());
		   }
		   for(int i=0;i<=8;i++) //这是通过for循环,也可以Scanner方法自己输入
		   {
			   for(int j=0;j<=1;j++)
			   {
				   List.get(i).add(j); //获取第i行,加入2个数据,分别为0,1
			   }
		   }
		   System.out.print(List);
		   
	}
}

在这里插入图片描述
6.在一维数组列表中能做的事情,在二维中同样可以。
比如在上述例子中求第0列的长度:

System.out.print(List.get(0).size());

输出:
在这里插入图片描述
这样类似的操作还有很多

目前对二维数组列表的了解非常浅,希望大家指教。

你可能感兴趣的:(JAVA)