集合数组—基础

这篇博客介绍了Java集合框架中的ArrayList,包括其作为可变大小数组的特点、构造方法和常用操作。通过代码示例展示了如何创建ArrayList、添加、删除和修改元素,以及获取元素和获取集合大小的方法。学习目标是掌握ArrayList的基本使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.集合基础

1.1集合概述

1.2ArrayList构造方法和添加方法

1.3ArrayList集合常用办法


1.集合基础

(学完集合基础要知道集合的常见操作有哪些,并且能够使用这些常见操作完成需求)

1.1集合概述

有一个人考了一百分,用一个变量存储就可以了。

如果有很多个人考试,有很多个分数,我要存储这些分数怎么办呢?

这里就想到了前面学习过的数组,但是问题又来:

假如考试当天有人生病了没来,那这个数组应该怎么变化,而我们知道数组的长度是固定的,是不能发生改变的。这时候就发现数组满足不了我们的需求了。

所以编程的时候如果要存储多个数据,使用长度固定的数组存储格式,不一定满足我们的需求,更适应不了变化的需求,那么此时该如何选择呢?

很明显这个选择就是我们要学的集合。

集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变。

集合类有很多,目前我们先学习一个:ArrayList

去API中查询一下ArrayList他是再util包下,所以使用ArrayList是要导包的

Class ArrayList<E>

     可调节大小的数组实现。

     <E>:是一种特殊的数据类型,泛型。

怎么用呢?

     在出现E的地方我们使用引用数据类型替代即可

     举例:ArrayList<String>,ArrayList<Student>。

比如说将要用这个集合存储字符串类型,<E>中的E就用String替代即可;比如说想在ArrayList<E>中存储学生类型,只需要把E换成Student替代即可。

1.2ArrayList构造方法和添加方法

代码演示:

 

import java.util.ArrayList;

/*
    ArrayList构造方法:
        public ArrayList():创建一个空的集合对象

    ArrayList添加方法
        public boolean add(E e):将指定的元素追加到刺激和的末尾
        public void add(int index,E element):在此集合中的指定位置插入指定的元素
 */
public class ArrayListDemo {
    public static void main(String[] args) {
        //public ArrayList():创建一个空的集合对象,在右边的<>中jdk7以前要先上相应的数据类型
        //ArrayList<String> array = new ArrayList<>();
        ArrayList<String> array = new ArrayList<String>();//这种和上面那种方式都行

        //2.元素赋值
        array.add("hello");
        array.add("world");
        array.add("java");

        //4.public void add(int index,E element):在此集合中的指定位置插入指定的元素
        array.add(1,"javase");
        //array.add(3,"javaee")注释掉上面一个代码,修改插入的位置和元素,输出没有问题
        //6.重新插入元素
        //array.add(4,"javaee");//7.我们现在只要三个元素,也就是索引012,我们现在跳到4了会发生什么

        //9.我们把第一个放开,根据指定索引添加元素,这样写就ok了
        //输出集合
        System.out.println("array:" + array);//1. array:[] 左右中括号里面是没有内容的,我们要来添加元素
        //3.再次输出得到array:[hello, world, java]会发现每个元素是用逗号隔开的
        //5.再次输出得到array:[hello, javase, world, java],会看到javase被插入到所以1的位置,其他元素往后面挪了一个
        //8.会报错IndexOutOfBoundsException,这就是集合的索引越界
    }
}

1.3ArrayList集合常用办法

Object-元素;index-索引;element-元素;

了解了这五个方法之后,代码演示:

 

import java.util.ArrayList;

/*
    ArrayList常用方法:
        public boolean remove(Object o):删除指定的元素,返回删除是否成功
        public E remove(int index):删除指定索引出的元素,返回被删除的元素
        public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
        public E get(int index):返回指定索引处的元素
        public int size():返回i集合中的元素个数
 */
public class ArrayListDemo2 {
    public static void main(String[] args) {
        //创建集合
        ArrayList<String> array = new ArrayList<String>();
        //添加元素
        array.add("hello");
        array.add("world");
        array.add("java");
        //1.public boolean remove(Object o):删除指定的元素,返回删除是否成功
        //System.out.println(array.remove("world"));// true
        //System.out.println("array:"+array);//array里面的world没有了

        //1.1尝试删除没有的元素(测试功能,每测试一个功能的时候要把前面测试的注释掉,才会使结果更准确)
        //System.out.println(array.remove("javaee"));//直接修改失败返回false,不执行本条语句
        //System.out.println("array:"+array);//所以还是得到array:[hello, world, java]

        //2.public E remove(int index):删除指定索引出的元素,返回被删除的元素
        //System.out.println(array.remove(1));//返回被删除的元素 world
        //经过输出得到array:[hello, java]
        //2.1删除不存在的3所以
        //System.out.println(array.remove(3));
        //直接报错IndexOutOfBoundsException索引越界

        //3.public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
        //System.out.println(array.set(2,"javase"));//返回被修改的元素 java
        //得到array:[hello, world, javase]
        //3.1如果改为要修改不存在索引3处的元素,还是会报错 索引越界
        //System.out.println(array.set(3,"javase"));//索引越界

        //4.public E get(int index):返回指定索引处的元素
        //System.out.println(array.get(0));//得到 hello,集合里面的元素并不会发生改变
        //4.1同样的我们来一个
        //System.out.println(array.get(0));//hello
        //System.out.println(array.get(1));//world
        //System.out.println(array.get(2));//java
        //System.out.println(array.get(3));//输出上诉三个输出语句,到这报错索引越界

        //5.public int size():返回i集合中的元素个数
        System.out.println(array.size());//输出了3
        //输出集合
        System.out.println("array:" + array);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贰陆.256

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值