首页 > 其他分享 >ArrayList类基础使用

ArrayList类基础使用

时间:2022-11-27 22:31:55浏览次数:39  
标签:基础 ArrayList list System add 使用 println out

数组的长度是固定的,无法适应数据变化的需求。为了解决这个问题,Java提供了另一个容器 **java.util.ArrayList **集合类,让我们可以更便捷的存储和操作对象数据。

什么是ArrayList类

java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储 的元素。 ArrayList 中可不断添加元素,其大小也自动增长。

ArrayList使用步骤

  • 查看类

java.util.ArrayList <E> :该类需要 import导入使后使用。 <E> ,表示一种指定的数据类型,叫做泛型。E ,取自Element(元素)的首字母。在出现E 的地方,我们使 用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。代码如下:

ArrayList<String>,ArrayList<Student>

  • 查看构造方法

public ArrayList() :构造一个内容为空的集合。 基本格式:

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

在JDK 7后,右侧泛型的尖括号之内可以留空,但是<>仍然要写。简化格式:

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

  • 查看成员方法

public boolean add(E e) : 将指定的元素添加到此集合的尾部。 参数 E e ,在构造ArrayList对象时, <E> 指定了什么数据类型,那么add(E e) 方法中,只能添加什么数据 类型的对象。 使用ArrayList类,存储三个字符串元素,代码如下:

    public static void main(String[] args) {
        // 创建了一个ArrayList集合,集合的名称是list,里面装的全都是String字符串类型的数据
        // 备注:从JDK 1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的。
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list); // []

        // 向集合当中添加一些数据,需要用到add方法。
        list.add("赵丽颖");
        System.out.println(list); // [赵丽颖]

        list.add("迪丽热巴");
        list.add("古力娜扎");
        list.add("玛尔扎哈");
        System.out.println(list); // [赵丽颖, 迪丽热巴, 古力娜扎, 玛尔扎哈]

//        list.add(100); // 错误写法!因为创建的时候尖括号泛型已经说了是字符串,添加进去的元素就必须都是字符串才行
    }

常用方法和遍历

对于元素的操作,基本体现在——增、删、查。常用的方法有: public boolean add(E e) :将指定的元素添加到此集合的尾部。 public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。 public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。 public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。 这些都是最基本的方法,操作非常简单,代码如下:

public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list); // []

        // 向集合中添加元素:add
        boolean success = list.add("柳岩");
        System.out.println(list); // [柳岩]
        System.out.println("添加的动作是否成功:" + success); // true

        list.add("高圆圆");
        list.add("赵又廷");
        list.add("李小璐");
        list.add("贾乃亮");
        System.out.println(list); // [柳岩, 高圆圆, 赵又廷, 李小璐, 贾乃亮]

        // 从集合中获取元素:get。索引值从0开始
        String name = list.get(2);
        System.out.println("第2号索引位置:" + name); // 赵又廷

        // 从集合中删除元素:remove。索引值从0开始。
        String whoRemoved = list.remove(3);
        System.out.println("被删除的人是:" + whoRemoved); // 李小璐
        System.out.println(list); // [柳岩, 高圆圆, 赵又廷, 贾乃亮]

        // 获取集合的长度尺寸,也就是其中元素的个数
        int size = list.size();
        System.out.println("集合的长度是:" + size);
    }

如何存储基本数据类型

ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似<int> 不能写,但是存储基本数据类型对应的 包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法如下: image.png 我们发现,只有Integer 和Character 需要特殊记忆,其他基本类型只是首字母大写即可。

标签:基础,ArrayList,list,System,add,使用,println,out
From: https://blog.51cto.com/zhanjq/5890449

相关文章

  • 使用VSCode + PicGo 写markdown
    PicGo在vscode中相当于把你剪贴板图片上传到云端,然后提供给你一个访问它的链接;图床就是自动把本地图片转换成链接的一款工具,即PicGo的功能;1.下载markdown插件2.下载P......
  • 2022-2023-1 20221317《计算机基础与程序设计》第十三周学习总结
    作业信息这个作业属于哪个课程:首页-2022-2023-1-计算机基础与程序设计-北京电子科技学院-班级博客-博客园(cnblogs.com)这个作业的要求在:2022-2023-1《计算......
  • python使用rabbitMQ
    python使用rabbitMQ 生产者消费者模型-------生产者-------------importpikaimportrandom#创建凭证credentials=pika.PlainCredentials('guest','guest')#新......
  • 使用Stream流遍历筛选数据
    使用Stream流遍历筛选数据@TestpublicvoidPredicate(){  List<String>objects=newArrayList<>();    objects.add("张三丰");    objects.add(......
  • 拓端tecdat|R语言辅导使用Metropolis- Hasting抽样算法进行逻辑回归
    R语言使用Metropolis-Hasting抽样算法进行逻辑回归 在逻辑回归中,我们将二元因变量Y_i回归到协变量X_i上。下面的代码使用Metropolis采样来探索b......
  • Java中使用正则表达式
    1、使用 java.util.regex.Pattern类的 compole(表达式)方法把正则表达式变成一个对象。//表达式对象:1个数字和1个字母连续Patternpattern=P......
  • springboot的基本使用
    SpringBoot简介SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。使用了Spring框架后已经简化了我们的开发,而SpringBoot......
  • 在C#中使用Halcon开发视觉检测程序
    本文的初衷是希望帮助那些有其它平台视觉算法开发经验的人能快速转入Halcon平台下,通过文中的示例开发者能快速了解一个Halcon项目开发的基本步骤,让开发者能把精力完全集中......
  • Linux基础命令
    cd切换路径cd..#切换到上一层目录cd~#切换到家目录cd-#切换到上一次工作目录ls列出文件或目录ls-a#显示所有文件(包含隐藏文件)ls-c#按文件的......
  • 2022-2023-1 20221324《计算机基础与程序设计》第十三周学习总结
    ##作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html......