java 集合笔记

博客主要探讨了集合框架与数组的区别,指出数组存在长度固定、易造成空间浪费或元素放不下的局限性。为解决此问题,引入了ArrayList容器类,它能随对象增加自动增长容量,避免数组边界问题。此外,还介绍了重写toString方法对输出数组的影响。

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

首先了解一下集合框架与数组的区别?
举例来说明
1.使用数组的局限性。
如果要存放多个对象,可以使用数组,但是数组有局限性
比如 声明长度是10的数组,不用的数组就浪费了超过10的个数,又放不下
数组的长度变化情况,不能够和要保存的元素相匹配。通过代码来看一下。

public class TestCollection {
    public static void main(String[] args) {
        //创建一个长度为10的对象数组[注意格式]
        Hero  h[]=new Hero[10];
        //往数组里放数据,Hero里边需要有一个带参的构造方法
        h[0]=new Hero("哈哈");
        //长度超过10就会放不进去
        h[11]=new Hero("大谷");

    }
}

在这里插入图片描述
针对上述数组出现的问题,来学习一下ArrayList.
2.ArrayList存放对象
为了解决数组的局限性,引入容器类的概念。 最常见的容器类就是
ArrayList。容器的容量"capacity"会随着对象的增加,自动增长
只需要不断往容器里增加英雄即可,不用担心会出现数组的边界问题。
代码展示

public class TestCollection1 {
    public static void main(String[] args) {
        //容器类ArrayList,用于存放对象
        ArrayList h=new ArrayList();
        //往list集合中添加数据
        h.add(new Hero("hhh"));
        System.out.println("第一次的大小为"+h.size());
        h.add(new Hero("aaa"));
        System.out.println("第二次的大小为"+h.size());
        h.add(new Hero("bbb"));
        System.out.println("第三次的大小为"+h.size());


    }
}

在这里插入图片描述
可以看到它的容量在一次次的变化,但是并没有出现浪费的情况。可以直到ArrayList可以实现容量的动态增加。
额外了解到了。
关于重不重写toString方法,输出整个数组的情况
不重写
在这里插入图片描述
重写
在这里插入图片描述
为什么会这样呢?
因为输出每个单独类名的时候,他后面都会自动的加上toString方法,如果没有对这个方法进行重写,那么他用的就是Object类的toString方法,这个方法就是输出对象的地址值,所以一般都会通过重写toString方法来进行达到自己目的的输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值