Java中ArrayList类的常用方法

Java中ArrayList类的常用方法

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 list = new ArrayList();

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 的形式存储的。

相关推荐