Java——ArrayList类的常用方法

这篇具有很好参考价值的文章主要介绍了Java——ArrayList类的常用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

ArrayList对象是可变数组,可以不设置长度。本文只介绍一些常用方法。该对象是从0下标开始计算的。主要分成七个部分,初始化,增加元素,删除元素,修改元素,查找元素,遍历,排序。更多方法见https://www.jiyik.com/w/java/java-arraylist

初始化

容量大小,加载因子,扩容倍数见https://blog.csdn.net/xuekunshan_/article/details/122753349
ArrayList arr1 = new ArrayList(); 不初始化容量
PS:若不初始化容量,则ArrayList的初始容量为10,并且当容量满的时候,用当前容量的0.5倍进行扩容
ArrayList arr2 = new ArrayList(3); 初始化容量 容量为3
ArrayList arr3 = new ArrayList(a); //a为集合或数组 用一个集合或数组初始化

增加元素

增加单个元素

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]
    }
}

增加一个集合的元素

Boolean addAll(int index, Collection c) 将给定集合中的所有元素添加到 arraylist 中。如果成功插入元素,返回 true。如果给定的集合为 null,则超出 NullPointerException 异常。注意:如果 index 超出范围,则该方法抛出 IndexOutOfBoundsException 异常。
index(可选参数)- 表示集合元素插入处的索引值 c - 要插入的集合元素
如果 index 没有传入实际参数,元素将追加至数组的最末尾。

import java.util.ArrayList;
class Main {
    public static void main(String[] args){
        // 创建一个动态数组
        ArrayList<Integer> primeNumbers = new ArrayList<>();
        // 往动态数组里添加元素
        primeNumbers.add(3);
        primeNumbers.add(5);
        System.out.println("Prime Numbers: " + primeNumbers);//Prime Numbers: [3, 5]
        // 创建另外的一个动态数组
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        // 把 primeNumbers 的所有元素添加到 numbers 的动态数组中
        numbers.addAll(primeNumbers);
        System.out.println("Numbers: " + numbers); //Numbers: [1, 2, 3, 5]
    }
}

删除元素

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((Integer)1)); //删除值为1的元素,删除成功,返回true
        System.out.println(list);  //输出 [10, 20, 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, "asd");  //将下标为3的元素修改为asd
        System.out.println(list);  // 输出 [10, 20, 1, asd, 50]
    }
}

查找元素

查找元素返回值

Object get(int index); 返回ArrayList对象第 index 下标的元素的值。

import java.util.ArrayList;
public class Test {
    public static void main(String[] args) {
        ArrayList list = new ArrayList();
//        ArrayList<Integer> list = new ArrayList<>();
        list.add(10);
        list.add(20);
        list.add(1);
        list.add(2);
        list.add(50);
        // 因初始化的时候没有对ArrayList的类型进行确定,即ArrayList<Integer> list = new ArrayList<>();
        // 所以无法使用int 获取list.get(3)的值,会出现不匹配 必须得使用Object获取
        Object num = list.get(3);  //获取到下标为3的元素
        System.out.println(num); //输出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
    }
}

查找元素,返回索引int值

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

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();
        System.out.println(list); // [10, 20, 50, 2, 50]
        System.out.println(nums.getClass().toString()); //class [Ljava.lang.Object;
        // 遍历方法
        for(Object i : nums) {
            System.out.print(i+" ");
        }
        System.out.println();
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i)+" ");
        }
        // 10 20 50 2 50
    }
}

ArrayList 排序

Collections 类也是一个非常有用的类,位于 java.util 包中,提供的 sort() 方法可以对字符或数字列表进行排序。
以下实例对字母进行排序:
代码示例:

import java.util.ArrayList;
import java.util.Collections;  // 引入 Collections 类
public class JiyikTest {
    public static void main(String[] args) {
        ArrayList<String> sites = new ArrayList<String>();
        sites.add("Taobao");
        sites.add("Wiki");
        sites.add("Jiyik");
        sites.add("Weibo");
        sites.add("Google");
        Collections.sort(sites);  // 字母排序
        for (String i : sites) {
            System.out.println(i);
        }
    }
}

以上实例,执行输出结果为:

Google
Jiyik
Taobao
Weibo
Wiki

以下实例对数字进行排序:
代码示例:

import java.util.ArrayList;
import java.util.Collections;  // 引入 Collections 类

public class Test {
    public static void main(String[] args) {
        ArrayList<Integer> myNumbers = new ArrayList<Integer>();
        myNumbers.add(33);
        myNumbers.add(15);
        myNumbers.add(20);
        myNumbers.add(34);
        myNumbers.add(8);
        myNumbers.add(12);
        Collections.sort(myNumbers);  // 数字排序
        for (int i : myNumbers) {
            System.out.println(i);
        }
    }
}

以上实例,执行输出结果为:文章来源地址https://www.toymoban.com/news/detail-547719.html

8
12
15
20
33
34

到了这里,关于Java——ArrayList类的常用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java中Lists.newArrayList和new ArrayList的详细区别?

    下面是对Lists.newArrayList()和new ArrayList()的详细区别进行举例说明: 创建具有初始数据的列表: java Copy code import com.google.common.collect.Lists; ListString list1 = Lists.newArrayList(\\\"apple\\\", \\\"banana\\\", \\\"orange\\\"); ListString list2 = new ArrayList(Arrays.asList(\\\"apple\\\", \\\"banana\\\", \\\"orange\\\")); 在这个例子中,Lists.newArray

    2024年01月25日
    浏览(30)
  • java ArrayList()常用详解

      可以调整数组的大小。 有序可重复 学的不是技术,更是梦想!!!

    2024年02月10日
    浏览(40)
  • new ArrayList 不当导致 CPU 飙升。。

    来源:juejin.cn/post/7139202066362138654 昨天线上容器突然cpu飙升,也是第一次排查这种问题所以记录一下~ 首先问题是这样的,周五正在写文档,突然收到了线上报警,发现cpu占用达到了90多,上平台监控系统查看容器,在jvm监控中发现有一个pod在两个小时内产生了61次youngGc一次

    2024年02月13日
    浏览(32)
  • java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?

    目录 基本介绍 有什么不同?? ArrayList的扩容机制 ArrayLIst的基本使用 ArrayList和Vector 还记得我们的java集合框架吗, 我们来复习一下, 如图:          可以看出来 ArrayList和LinkedList 都是具体类, 他们都是接口List的实现类. 但是他们底层的逻辑是不同的, 相信学过这个的应该大概有个

    2024年02月12日
    浏览(38)
  • Java重写ArrayList方法

    2024年01月19日
    浏览(48)
  • 【JavaSE】Java基础语法(十二):ArrayList

    集合和数组的区别 : 共同点:都是存储数据的容器 不同点:数组的容量是固定的,集合的容量是可变的 ArrayList : 可调整大小的数组实现 是一种特殊的数据类型,泛型。 怎么用呢 ? 在出现E的地方我们使用引用数据类型替换即可 举例:ArrayList, ArrayList 成员方法 : 案例需求

    2024年02月06日
    浏览(58)
  • List list=new ArrayList()抛出的ArrayIndexOutOfBoundsException异常

    1.应用场景,今天生产日志监控到一组new ArrayList() 进行add 异常,具体日志如下: 具体代码: 上面代码是对ids 分片按照10条记录查询远程接口,并将结果集放到list riskSummaryList 对象中 riskSummaryList.add(new DTO() )最后输出结果,代码比较简单. 分析:这种情况属于多线程并发产生的

    2024年02月13日
    浏览(35)
  • java学习——ArrayList和泛型(学习记录)

    学习资料来自菜鸟教程 ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。 ArrayList 继承了 AbstractList ,并实现了 List 接口。 ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下: E: 泛型数据类型,

    2024年02月06日
    浏览(62)
  • java面试基础 -- ArrayList 和 LinkedList有什么区别

    目录 基本介绍 有什么不同?? ArrayList的扩容机制 ArrayLIst的基本使用 ArrayList和Vector 还记得我们的java集合框架吗, 我们来复习一下, 如图:          可以看出来 ArrayList和LinkedList 都是具体类, 他们都是接口List的实现类. 但是他们底层的逻辑是不同的, 相信学过这个的应该大概有个

    2024年02月12日
    浏览(52)
  • java集合框架(三)ArrayList常见方法的使用

    @[toc] ## 一、什么是ArrarList ArrayList是Java中的一个动态数组类,可以根据实际需要自动调整数组的大小。ArrayList是基于数组实现的,它内部维护的是一个Object数组,默认初始化容量为10,当添加的元素个数超过了当前容量时,会自动扩容。 ArrayList也被广泛用于Java中的集合框架,

    2024年02月05日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包