Java中使用ArrayList类-创建动态的二维数组<>

本文通过实例讲解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();
			
		}
		

	}

}

运行结果:

本位思路来自于 https://www.cnblogs.com/kungfupanda/p/7357142.html
代码部分为本人原创。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐邂逅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值