• 第4节 ArrayList


    1.ArrayList集合概述和基本使用

    package cn.itcast.day07.demo04;

    import java.util.ArrayList;

    /*
    数组的长度不可以发生改变。
    但是ArrayList集合的长度是可以随意变化的。

    对于ArrayList来说,有一个尖括号<E>代表泛型。
    泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
    注意:泛型只能是引用类型,不能是基本类型。

    因为集合里面保存的是地址值,而基本类型无地址值

    注意事项:
    对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
    如果内容是空,得到的是空的中括号:[]
    */
    public class Demo02ArrayList {

    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); // 错误写法!因为创建的时候尖括号泛型已经说了是字符串,添加进去的元素就必须都是字符串才行
    }

    }

    ================================================================================================================

    2.ArrayList集合的常用方法

    Demo03ArrayListMethod.java

    package cn.itcast.day07.demo04;

    import java.util.ArrayList;

    /*
    ArrayList当中的常用方法有:

    public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。
    备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。
    但是对于其他集合(今后学习)来说,add添加动作不一定成功。

    public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。

    public E remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。

    public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。
    */
    public class Demo03ArrayListMethod {

    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);
    }

    }

    遍历集合Demo04ArrayListEach.java

    package cn.itcast.day07.demo04;

    import java.util.ArrayList;

    public class Demo04ArrayListEach {

    public static void main(String[] args) {
    ArrayList<String> list = new ArrayList<>();
    list.add("迪丽热巴");
    list.add("古力娜扎");
    list.add("玛尔扎哈");

    // 遍历集合
    for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
    }
    }

    }

    ===========================================================================================================

    3.ArrayList集合存储基本数据

    package cn.itcast.day07.demo04;

    import java.util.ArrayList;

    /*
    如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类”。

    基本类型 包装类(引用类型,包装类都位于java.lang包下)
    byte    Byte
    short   Short
    int    Integer 【特殊】
    long    Long
    float    Float
    double   Double
    char   Character 【特殊】
    boolean  Boolean

    从JDK 1.5+开始,支持自动装箱、自动拆箱。

    自动装箱:基本类型 --> 包装类型
    自动拆箱:包装类型 --> 基本类型
    */
    public class Demo05ArrayListBasic {

    public static void main(String[] args) {
    ArrayList<String> listA = new ArrayList<>();
    // 错误写法!泛型只能是引用类型,不能是基本类型
    // ArrayList<int> listB = new ArrayList<>();

    ArrayList<Integer> listC = new ArrayList<>();
    listC.add(100);
    listC.add(200);
    System.out.println(listC); // [100, 200]

    int num = listC.get(1);//接收的话,用基本类型接收就可以
    System.out.println("第1号元素是:" + num);
    }

    }

  • 相关阅读:
    原型设计作业
    20210405-1 案例分析作业
    要命的作业
    20210309-1 准备工作
    20210309-2 阅读任务
    前端用js获取本地文件的内容
    2019春第四周作业
    解决BootStap TreeView插件在 BootStrap4上不兼容问题
    ABP VNEXT使用PUT方法时报”对象已被修改,乐观并发失败“解决方案
    【一步一步入坑ABP VNEXT】安装ABP CLI
  • 原文地址:https://www.cnblogs.com/curedfisher/p/12370500.html
Copyright © 2020-2023  润新知