首页 > 编程语言 >Java--->集合中常用的ArrayList的使用和介绍

Java--->集合中常用的ArrayList的使用和介绍

时间:2022-10-22 11:36:45浏览次数:46  
标签:index java ArrayList --- add 数组 Java arrayList

前段时间一直在说数组,今天说下Java集合中常用的ArrayList

ArrayList类是一个可以动态修改的数组,与普通数组的区别就是ArrayList没有固定大小的限制,可以添加或删除元素。ArrayList继承了AbstractList,并实现了List接口

Java--->集合中常用的ArrayList的使用和介绍_初始化

可以看到 ArrayList继承于AbstractList类,实现了List接口。List又继承于Collection, Collection继承于Iterable

ArrayList类位于 java.util包中,使用前需要引入。在idea中写了ArrayList可以自动引入包。可以看下ArrayList的初始化

ArrayList<E> objectName = new ArrayList<>(); //初始化 

其中 E: 泛型数据类型,用于设置 objectName的数据类型,只能为引用数据类型。objectName为 对象名

ArrayList是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。


ArrayList的一系列操作:

  1. 添加元素
    添加元素时,使用add方法 可以直接添加内容,xxx.add("xxxxxx"); 也可以设置数组下标和内容 xxx.add(index,"xxxx"); index一般是int
    我们来看下实例:

import java.util.ArrayList;


public class ArrayListTestDemo {

    public static void main(String[] args){

        //ArrayList添加元素,先初始化

        ArrayList<String> arrayList = new ArrayList<String>();

        arrayList.add("Google");

        arrayList.add(0,"is"); //数字下标


        System.out.println(arrayList);


    }

}

运行结果如下:

[is, Google]  

这里需要说明下,程序代码一般都是从上到下执行,先显示 Google,然后显示is, 但是is的下标为0, 也就是数组的第一位。所以结果为 is Google

import java.util.ArrayList;


public class ArrayListTestDemo {

    public static void main(String[] args){

        //ArrayList添加元素,先初始化

        ArrayList<String> arrayList = new ArrayList<String>();

        arrayList.add("Google");

        arrayList.add(0,"is"); //数字下标

        arrayList.add(0,"Hello"); //先运行的 is,然后运行 hello发现 index是0,就排在is 前面

        System.out.println(arrayList);


    }

}

如果在添加数据时,有两个数组的下标值是一样的,怎么处理呢?我们看下运行结果

[Hello, is, Google]

说明后执行的且数组下标一样的先运行并显示了出来。

如果数组下标值超过了数组长度,会有什么结果呢?

import java.util.ArrayList;


public class ArrayListTestDemo {

    public static void main(String[] args){

        //ArrayList添加元素,先初始化

        ArrayList<String> arrayList = new ArrayList<String>();

        arrayList.add("Google");

        arrayList.add(0,"is"); //数字下标

        arrayList.add(0,"Hello"); //先运行的 is,然后运行 hello发现 index是0,就排在is 前面

        arrayList.add(100,"worlld"); //index不能超过ArrayList的长度

        System.out.println(arrayList);


    }

}

100 > 3了,我们看下运行结果:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 100, Size: 3

at java.util.ArrayList.rangeCheckForAdd(ArrayList.java:665)

at java.util.ArrayList.add(ArrayList.java:477)

at WorkStudy.ArrayListTestDemo.main(ArrayListTestDemo.java:12)

可以看到提示超了

需要数据内容正确的话,可以这样看

import java.util.ArrayList;


public class ArrayListTestDemo {

    public static void main(String[] args){

        //ArrayList添加元素,先初始化

        ArrayList<String> arrayList = new ArrayList<String>();

        arrayList.add("Google");

        arrayList.add(0,"is"); //数字下标

        arrayList.add(0,"Hello"); //先运行的 is,然后运行 hello发现 index是0,就排在is 前面

        arrayList.add(3,"worlld"); //index不能超过ArrayList的长度

        System.out.println(arrayList);

我们看下运行结果:

[Hello, is, Google, worlld]


可以看到在打印这块,ArrayList和普通的数组还是不一样的。普通的数组直接打印,会显示字符,请看实例:

String[] arg = new String[5];

        for (int i = 0; i < arg.length; i++) {

            arg[i] = "Hello" + i;

        }

        System.out.println(arg);


运行结果如下:

[Ljava.lang.String;@61bbe9ba

需要使用循环来将数组内的元素都取出


2.访问元素

访问 ArrayList中的元素可以使用get()方法,还是用上面的实例

ArrayList<String> arrayList = new ArrayList<String>();

        arrayList.add("Google");

        arrayList.add(0,"is"); //数字下标

        arrayList.add(0,"Hello"); //先运行的 is,然后运行 hello发现 index是0,就排在is 前面

        arrayList.add(3,"worlld"); //index不能超过ArrayList的长度

        System.out.println(arrayList);


        String arg1 = arrayList.get(0); //访问第一个元素

        System.out.println(arg1);

我们来看下结果:

Hello

显示的是第一个元素(数组下标0)


好的,今天就先到这里吧

add()

add(int index, string)

get()

标签:index,java,ArrayList,---,add,数组,Java,arrayList
From: https://blog.51cto.com/u_11894/5785727

相关文章

  • Java并发编程学习9-并发基础Demo
    构建高效且可伸缩的结果缓存本篇我们将逐步构建一个高效且可伸缩的缓存,用于改进一个高计算开销的函数。1.HashMap+并发机制我们首先能想到的就是,通过HashMap和并发......
  • 选择器-基础选择器、扩展选择器、CSS属性
    选择器-基础选择器 <title>选择器</title><style>#div1{color:red;}#class1{color:gray;}......
  • linux下matlab启动时Failed to load module "canberra-gtk-module"的错误解决办法
     1、查看库是否存在:locatelibcanberra如果不存在,安装库;sudopacman-Scanberra如果不存在命令,安装软件并更新数据库;sudopacman-Smlocate&&updatedb2、建立软链......
  • LY3306一款SOT23-6集成了锂电池充电管理三档小风扇芯片IC
    简述LY3306泛海微是一款集成了锂电池充电管理模块、电机驱动模块、续流二极管、按键档位控制、保护模块的全集成电机驱动控制芯片,待机电流仅 5uA。LY3306 充电电流为 0.5......
  • 非表单组件实现双向绑定的小技巧-- v-model 代替 .sync
    简介一般地,双向绑定多用于表单这类输入组件,但在非表单组件上使用双向绑定的需求也很常见,比如具有单选性质的菜单、标签页等组件,通过双向绑定可以更方便地获取和修改激活项......
  • 补题记录——Oct. Training 1-图论、集合哈希
    H-BoboniuWalksonGraphhttps://codeforces.com/problemset/problem/1394/B题意给n个点m条有向边,么个点的出度不超过k(k<=9),每条边都有一个边权在(\(1<=w<=m\))且每条边......
  • Iframe - Target for a Link
    Iframe-TargetforaLink通过超链接来切换iframe里面的内容 <!DOCTYPEhtml><html><body><h2>Iframe-TargetforaLink</h2><iframesrc="demo_iframe.htm......
  • java反射
    什么是反射?反射就是Reflection,Java的反射是指程序在运行期可以拿到一个对象的所有信息。正常情况下,如果我们要调用一个对象的方法,或者访问一个对象的字段,通常会传入对象实例......
  • java的class类
    除了​​int​​​等基本类型外,Java的其他类型全部都是​​class​​​(包括​​interface​​)。例如:​​String​​​​Object​​​​Runnable​​​​Exception​​...仔......
  • Java基本数据类型占用字节大小简介说明
    转自:​​http://www.java265.com/JavaMianJing/202205/16515929083261.html​​下文笔者讲述Java中基本数据类型占用字节大小的简介说明,如下所示基础数据类型是所有数据类......