Java中ArrayList类的常用方法

2022-08-27 09:37:29

ArrayList对象是可变数组,可以不设置长度。下面介绍一些常用方法。该对象是从0下标开始计算的。主要分成四个部分,增加元素,删除元素,修改元素,查找元素。

目录

一、增加元素

二、删除元素

三、修改元素值

四、查找元素

    (1)查找返回元素值

    (2)查找返回boolean值

    (3)查找返回int值

五、将ArrayList转换成数组 toArray().

例题: 激光样式

一、增加元素
add(Object num); //从ArrayList对象的最末尾处添加num值,即在以ArrayList对象的长度的下标处的值设置为num.

   提供一个重载方法,add(int index,Object num); //可以在index下标插入num值,index后面的元素全部后移一位。

    代码示例:

import java.util.ArrayList;

public class Test {
public static void main(String[] args) {
ArrayList list = new ArrayList();

	list.add(10);
	list.add(20);
	list.add(1);
	list.add(2);
	list.add(2,100);   //在2索引下插入100

	System.out.println(list);// 输出 [10, 20, 100, 1, 2]
}

}
二、删除元素
remove(int index); //删除索引为index的元素

    重载函数,remove(Object obj); // 删除ArrayList对象中存在obj的元素,删除成功返回true,失败返回false;

    代码示例:

import java.util.ArrayList;

public class Test {
public static void main(String[] args) {
ArrayList list = new ArrayList();

	list.add(10);
	list.add(20);
	list.add(1);
	list.add(2);
	list.add(50);
	
	list.remove(3); //删除下标为3的元素
	System.out.println(list);  // 输出 [10, 20, 1, 50]
	System.out.println(list.remove((Object)90)); //删除值为90的元素,明显删除失败 返回 false
	System.out.println(list);  //输出 [10, 20, 1, 50]
}

}
三、修改元素值
set(int index, Object num); // 将ArrayList对象的第index下标的元素的值修改为num。

    代码示例:

import java.util.ArrayList;

public class Test {
public static void main(String[] args) {
ArrayList list = new ArrayList();

	list.add(10);
	list.add(20);
	list.add(1);
	list.add(2);
	list.add(50);
	list.set(3, 999);  //将下标为3的元素修改为999
	System.out.println(list);  // 输出 [10, 20, 1, 999, 50]
}

}
四、查找元素
(1)查找返回元素值
Object get(int index); //返回ArrayList对象第 index 下标的元素的值。

    代码示例:

import java.util.ArrayList;

public class Test {
public static void main(String[] args) {
ArrayList list = new ArrayList();

	list.add(10);
	list.add(20);
	list.add(1);
	list.add(2);
	list.add(50);
	int num = list.get(3);  //获取到下标为3的元素
	System.out.println(num); //输出2
}

}
(2)查找返回boolean值
boolean contains(Object obj) ; //查找对象元素里是否存在obj,存在返回true ,否则返回false;

             boolean isEmpty();  //对象为空返回true, 不为空返回false;

    代码示例:

import java.util.ArrayList;

public class Test {
public static void main(String[] args) {
ArrayList list = new ArrayList();

	list.add(10);
	list.add(20);
	list.add(1);
	list.add(2);
	list.add(50);
	boolean  num = list.contains(20);  //确认list是否包含20
	System.out.println(num); //输出true
	System.out.println(list.isEmpty()); //判断list是否为空  返回false
}

}
(3)查找返回int值
int indexOf(Object obj); //查找对象元素里第一次出现的obj,则返回该下标,否则返回-1;

            int lastindexOf(Object obj); //查找对象元素里最后一次出现的obj,则返回该下标,否则返回-1;

            int size();  //返回对象长度

    代码示例:

import java.util.ArrayList;

public class Test {
public static void main(String[] args) {
ArrayList list = new ArrayList();

	list.add(10);
	list.add(20);
	list.add(50);
	list.add(2);
	list.add(50);
	list.add(50);
	int  firstindex = list.indexOf(50);  //返回list第最后一次出现50的下标
	int  endindex = list.lastIndexOf(50); //返回list最后一次出现50的下标
	System.out.println(firstindex); //输出2
	System.out.println(endindex); //输出5
	System.out.println(list.size()); //list的大小 输出6
}

}
五、将ArrayList转换成数组 toArray().
返回的是一个对象数组

    代码示例:

import java.util.ArrayList;

public class Test {
public static void main(String[] args) {
ArrayList list = new ArrayList();

	list.add(10);
	list.add(20);
	list.add(50);
	list.add(2);
	list.add(50);

	Object[] nums = new Object[list.size()];
	nums = list.toArray();
	for(Object i : nums) {
		System.out.print(i+" "); 
	}
	
}

}

例题: 激光样式

这道题就可以用ArrayList类来存储数据。

题解:

import java.util.ArrayList;

public class Main {

public static void main(String[] args) {


	ArrayList<Integer> list = new ArrayList<Integer>();
	list.add(2);
	list.add(3);
	for(int i =2 ;i<30;i++) {
		list.add(list.get(i-1)+list.get(i-2));
		
	}
	System.out.println(list.get(29));
	
}

}
此外,ArrayList类常和HashMap类搭配,用来存储一张二维表。每行表示的是ArrayList对象的元素,每行对应的多个列则就是HashMap类中key = value 的形式存储的。

  • 作者:站得高看得远_
  • 原文链接:https://blog.csdn.net/qq_35238125/article/details/122131968
    更新时间:2022-08-27 09:37:29