为了账号安全,请及时绑定邮箱和手机立即绑定

Java中的可变长度(动态)数组

/ 猿问

Java中的可变长度(动态)数组

我想知道如何初始化整数数组,使其大小和值在程序执行过程中发生变化,有什么建议吗?



查看完整描述

3 回答

?
白衣染霜花

是的:使用ArrayList。


在Java中,“普通”数组是固定大小的。您必须给它们一个尺寸,并且不能扩展或收缩它们。要更改大小,您必须创建一个新数组并复制所需的数据-这效率低下,给您带来痛苦。


幸运的是,有各种各样的内置类可以实现通用的数据结构以及其他有用的工具。您需要检查Java 6 API的完整列表。


一个警告:ArrayList只能保存对象(例如Integer),而不能保存原语(例如ints)。在大多数情况下,自动装箱/自动拆箱会为您静默处理,但根据您的操作,您可能会得到一些奇怪的行为。


查看完整回答
反对 回复 2019-10-17
?
慕森卡

Java中的数组大小固定。您需要的是一个ArrayList,它是Java中许多非常有价值的Collections之一。


代替


Integer[] ints = new Integer[x]

你用


List<Integer> ints = new ArrayList<Integer>();

然后更改您使用的列表ints.add(y),ints.remove(z)以及其他许多方便的方法,您可以在相应的Javadocs中找到这些方法。


我强烈建议研究Java中可用的Collections类,因为它们非常强大,并为您提供了许多内置功能,而Java新手往往会尝试不必要地重写自身。


查看完整回答
反对 回复 2019-10-17
?
慕哥6287543

实例化后,数组的大小是固定的。您可以改为使用列表。


自动装箱使List的使用类似于数组,您可以将int值简单地放入其中:


List<Integer> list = new ArrayList<Integer>();

list.add(1);

list.add(2);

list.add(3);


查看完整回答
反对 回复 2019-10-17

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信