Java入门基础学习笔记47——ArrayList

发布于:2024-05-22 ⋅ 阅读:(112) ⋅ 点赞:(0)

什么是集合呢?

集合是一种容器,用来装数据的,类似数组。

有数组,为什么还要学习集合呢?

数组定义完成并启动后,长度就固定了。

而集合是大小可变,开发中用的最多的。

集合的特点:大小可变,类型可以不固定,功能更加强大,适合做元素个数不能确定,同时存在增删改查的操作场景。

集合的种类非常多:

ArrayList该如何学呢?

1、会提供创建容器对象的方式;

2、会提供相应的方法对容器进行操作;

就是增删改查:

添加数据

删除某个数据

修改某个数据

获取某个数据

那么,1、创建对象; 2、增删改查的方法; 3、容器的其他特点

编程的时候使用第一个无参数构造器。

泛型:集合都是支持泛型的,约束集合在编译阶段只能操作某种数据类型。

注意:集合和泛型都不支持基本数据类型,只能支持引用数据类型。

注意:以后定义集合都应该支持泛型。

我的集合就是要什么都存:推荐这么写:

ArrayList<Object> list = new ArrayList();

ArrayList<E>

是用的最多的、最常见的一种集合。

代码:

package cn.ensource.arraylist;

import java.util.ArrayList;

/**
 * 目标:要求同学们掌握如何创建ArrayList集合的对象,并熟悉ArrayList提供的常用方法
 */

public class ArrayListDemo1 {
    public static void main(String[] args) {
        // 1. 创建ArrayList集合对象
        ArrayList list =  new ArrayList();
        list.add("黑马");
        list.add(1);
        list.add(99.5);
        list.add("黑马");
        list.add("Java");

        System.out.println(list);
    }
}

运行结果:

打印容器的地址,而是直接去打印容器里的内容。

让集合约束存储的类型,只能存储某种类型的数据,这就是泛型:

package cn.ensource.arraylist;

import java.util.ArrayList;

/**
 * 目标:要求同学们掌握如何创建ArrayList集合的对象,并熟悉ArrayList提供的常用方法
 */

public class ArrayListDemo1 {
    public static void main(String[] args) {
        // 1. 创建ArrayList集合对象
//        ArrayList<String> list =  new ArrayList<String>();
        // 从jdk1.7开始支持的写法:
        ArrayList<String> list = new ArrayList<>();

        list.add("黑马");
//        list.add(1);
//        list.add(99.5);
        list.add("黑马");
        list.add("Java");

        System.out.println(list);
    }
}

ArrayList的常用方法示例:

package cn.ensource.arraylist;

import java.util.ArrayList;

/**
 * 目标:要求同学们掌握如何创建ArrayList集合的对象,并熟悉ArrayList提供的常用方法
 */

public class ArrayListDemo1 {
    public static void main(String[] args) {
        // 1. 创建ArrayList集合对象
//        ArrayList<String> list =  new ArrayList<String>();
        // 从jdk1.7开始支持的写法:
        ArrayList<String> list = new ArrayList<>();

        list.add("黑马");
//        list.add(1);
//        list.add(99.5);
        list.add("黑马");
        list.add("Java");

        System.out.println(list);

        // 2. 往集合中的某个索引位置处添加一个数据
        list.add(1, "MySQL");
        System.out.println(list);

        // 3. 获取某个索引位置的元素值
        String rs = list.get(1);
        System.out.println(rs);

        // 4. 返回集合的元素个数
        System.out.println(list.size());

        // 5. 删除指定索引处的元素,返回被删除的元素
        String rs2 = list.remove(1);
        System.out.println(rs2);
        System.out.println(list);

        // 6. 删除指定的元素,返回删除是否成功
        Boolean rs3 = list.remove("Java");
        System.out.println(rs3);
        System.out.println(list);

        // 添加一个数据
        list.add(1, "HTML");
        System.out.println(list);

        // 7. 如果删除黑马,则删除第一次出现的黑马被删除
        System.out.println(list.remove("黑马"));   // true 删除成功
        System.out.println(list);     // 第二个黑马没有被删除

        // 8. set方法,把某个索引的值进行替换
        list.set(0, "CentOS");     // 将HTML替换成CentOS
        String rs5 = list.set(1, "黑马程序员");
        System.out.println(rs5);      // 打印被修改的元素
        System.out.println(list);

    }
}

再次说明:

==:

比较基本数据类型:比较具体的值。

比较引用数据类型:比较的是对象地址值。

equals:比较对象内容

equalsIgnoreCase: 比较内容忽略大小写

另外:

注意:集合容器中存储的是每个对象的什么东西?在堆内存中的地址。


网站公告

今日签到

点亮在社区的每一天
去签到