toArray将集合转化为数组

本文介绍了Java中将集合转换为数组的四种不同方法,并详细解释了每种情况下数组的变化及注意事项。通过实例演示了如何根据集合大小选择合适的转换策略。

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

将集合转化为数组的四种做法

    /**
     * 测试将集合转为数组
     */
    @Test
    public void test2Array() {
        List<String> l = new ArrayList<String>();
        for(int i = 0; i < 4; i++) {
            l.add("egg");
        }
        // 情况一:篮子可以放得下所有鸡蛋
        String[] basket6 = new String[6];
        l.toArray(basket6);
        System.out.println(Arrays.toString(basket6));
        // 结论:如果数组可以放得下所有集合元素,
        //      直接修改原数组,不会创建新数组
        // 情况二:篮子放不下所有鸡蛋
        String[] basket2 = new String[2];
        String[] newbasket = l.toArray(basket2);
        System.out.println(Arrays.toString(newbasket));
        // 结论:如果数组放不下所有集合元素
        //      会抛弃旧数组,创建新数组,返回新数组对象
        //      必须用变量接住返回的新数组对象
        // 情况三:传入0个元素的数组作为参数
        String[] newbasket1 = l.toArray(new String[]{});
        System.out.println(Arrays.toString(newbasket1));
        // 通用做法:不必关心集合中元素的个数以及数组的长度
        // 情况四:传入一个和集合元素个数相同的数组
        String[] mybasket = l.toArray(new String[l.size()]);
        System.out.println(Arrays.toString(mybasket));
        // 优化的做法:不存在抛弃数组,创建新数组的情况
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值