Java中对象数组及ArrayList讲解

1.对象数组

首先我们来创建一个类

package LianxiDay1217.重回学Java4;

public class Person {
    private String name;//相当于我只写了这两行代码
    private int age;

    public Person() { //无参构造
    }

    public Person(String name, int age) { //全参构造
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}


然后再创建一个对象

package LianxiDay1217.重回学Java4;

public class Day1219Array {
    public static void main(String[] args) {
        //首先创建一个长度为3的数组,里面用来存放Person类型的对象
        Person[] array = new Person[3];

        Person one = new Person("卡卡罗特",18);
        Person two = new Person("路飞",20);
        Person three = new Person("鸣人",19);

        //将one当中的地址值赋值到数组的0号元素位置
        array[0] = one;
        array[1] = two;
        array[2] = three;
        System.out.println(array[0]); //地址值
        System.out.println(array[1]); //地址值
        System.out.println(array[2]); //地址值

        System.out.println(array[1].getName());//路飞
    }
}

在这里插入图片描述

这样就可以执行了

2.ArrayList集合的概述及使用

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

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

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

package LianxiDay1217.重回学Java4;
import java.util.ArrayList;

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

    }
}

在这里插入图片描述

3.ArrayList集合的方法及遍历

Arraylist当中的常用方法有:

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

public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
public E remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素
public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。

以上这三种比较常见,记住就好了

package LianxiDay1217.重回学Java4;
import java.util.ArrayList;

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

        //向集合中添加元素:add
        boolean success = list.add("狼人");  //boolean布尔值
        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(4);
        System.out.println("删除的人是" + whoRemoved);//索隆
        System.out.println(list);//[狼人, 孙悟空, 路飞, 鸣人]

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

    }
}

在这里插入图片描述

遍历

package LianxiDay1217.重回学Java4;
import java.util.ArrayList;

public class Day1219ArrayListEach {
    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));//集合中获取元素:get,索引从0开始
        }
    }
}

在这里插入图片描述

4.ArrayList集合的存储基本数据类型

基本类型 包装类(引用类型,包装类都位于java.Lang包下)
byte ========> Byte
short ========> Short
int ========> Integer 【特殊】
Long ========> Long
float ========> FLoat
double ========> Double
char ========> Character【特殊】
booLean ========> Boolean

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

自动装箱:基本类型–>包装类型
自动拆箱:包装类型–>基本类型

package LianxiDay1217.重回学Java4;
import java.util.ArrayList;

public class Day1219ArrayListBasic {
    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("第一号元素是:"+ num);//我想单独拿出来200
    }
}

在这里插入图片描述
好了,话不多说,有点累了,歇会儿,要慢慢摸索了。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

康贤

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

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

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

打赏作者

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

抵扣说明:

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

余额充值