本文通过实例讲解Java中如何使用ArrayList类。

Java.util.ArrayList类是一个动态数组类型,也就是说,ArrayList对象既有数组的特征,也有链表的特征。可以随时从链表中添加或删除一个元素。ArrayList实现了List接口。

大家知道,数组(平常你们最爱的new[]这些)是静态的,数组被初始化之后,数组长度就不能再改变了。ArrayList是可以动态改变大小的。那么,什么时候使用Array(数组),什么时候使用ArrayList?答案是:当我们不知道到底有多少个数据元素的时候,就可使用ArrayList;如果知道数据集合有多少个元素,就用数组。

ArrayList常用方法
下面是总结了一些比较常用的ArrayList类成员方法:

  • 增加元素到链表中

—List item boolean add(Element e) //增加指定元素到链表尾部.
—List item void add(int index, Element e) //增加指定元素到链表指定位置.

  • 从链表中删除元素
    void clear() //从链表中删除所有元素.
    E remove(int index) //删除链表中指定位置的元素,并返回该元素的值
    protected void removeRange(int start, int end) //删除链表中从某一个位置开始到某一个位置结束的元素。
  • 获取链表中的元素
    E get(int index) //获取链表中指定位置处的元素.
    Object[] toArray() //获取一个数组,数组中所有元素是链表中的元素.(即将链表转换为一个数组)
  • 修改某个元素
    E set(int index, E element)
    将链表中指定位置上的元素替换成新元素。
  • 搜索元素
    boolean contains(Object o) //如果链表包含指定元素,返回true.
    int indexOf(Object o) //返回元素在链表中第一次出现的位置,如果返回-1,表示链表中没有这个元素。
    int lastIndexOf(Object o) //返回元素在链表中最后一次出现的位置,如果返回-1,表示链表中没有这个元素。
  • 检查链表是否为空
    boolean isEmpty() //返回true表示链表中没有任何元素.
  • 获取链表大小
    int size() //返回链表长度(链表包含元素的个数).

下面进行简单的java代码演示动态的二维ArrayList:

package Apriori;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main 
{
	
	public static void main(String[] args) 
	{
		// TODO Auto-generated method stub
		ArrayList<List<String>> list=new ArrayList<List<String>>();//创建包含数组的list,即可看成是二位数组
		//与普通的二位数组不同的是,它可以动态改变大小
		
		ArrayList<String> string=new ArrayList <String>();//一维数组
		ArrayList<String> string1=new ArrayList <String>();//一维数组
		
		char noun='\u0061';//a的Acill码
		for(int i=0;i<10;i++)
		{
			string.add(i+"");//添加元素,+""是为了变字符串。
			string1.add(noun+i+"");
			noun++;
		}
		//构建二维的list,即加入两个元素即可
		//当然可以加入很多个一维数组,在这里简单演示我就加入两个
		list.add(string);
		list.add(string1);
		
		//打印输出看效果
		for(int i=0;i<list.size();i++)
		{
			for(int j=0;j<list.get(i).size();j++)
				System.out.print(list.get(i).get(j)+" ");
			System.out.println();
			
		}
		

	}

}

add java二维list java arraylist用法二维_List

本位思路来自于
代码部分为本人原创。