java怎样定义可变长数组

leidongjiutian1 2011-09-17 07:19:51
如题,不能像C和C++一样,java不能定义可变长数组。
...全文
30328 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
桑尼9 2013-08-19
  • 打赏
  • 举报
回复
不太好理解,请详细讲解一下
  • 打赏
  • 举报
回复


我记错了,是5的倍数。



引用 19 楼 wdr1007 的回复:
[quote=引用 18 楼 ch656409110 的回复:]
所谓可变长度,就是往里面放值直到放满后再重新new一个更加长的数组,把之前放的值重新再放一次,这个时候就有剩余的空间继续放值了。
ArrayList 就是可变长度的,因为以前在调试的时候初始化是10个长度,没有赋值的都是null, 超过10个后变成20个了,一直按10的倍数递增。。

我记得ArrayList不是按10的倍数递增的吧,应该是设定的ArrayList长度的2倍+1增加的。[/quote]
wdr1007 2013-08-19
  • 打赏
  • 举报
回复
引用 18 楼 ch656409110 的回复:
所谓可变长度,就是往里面放值直到放满后再重新new一个更加长的数组,把之前放的值重新再放一次,这个时候就有剩余的空间继续放值了。 ArrayList 就是可变长度的,因为以前在调试的时候初始化是10个长度,没有赋值的都是null, 超过10个后变成20个了,一直按10的倍数递增。。
我记得ArrayList不是按10的倍数递增的吧,应该是设定的ArrayList长度的2倍+1增加的。
  • 打赏
  • 举报
回复
所谓可变长度,就是往里面放值直到放满后再重新new一个更加长的数组,把之前放的值重新再放一次,这个时候就有剩余的空间继续放值了。 ArrayList 就是可变长度的,因为以前在调试的时候初始化是10个长度,没有赋值的都是null, 超过10个后变成20个了,一直按10的倍数递增。。
chengjisihan0069 2013-08-19
  • 打赏
  • 举报
回复
谢谢大家!!!
谭正强 2013-07-18
  • 打赏
  • 举报
回复
List<String> list = new ArrayList<String>();
咖啡小子 2012-07-25
  • 打赏
  • 举报
回复
java 中接口Collectio的实现类ArrayList采用数组作内部结构,可以自动管理数组大小,根据需要给数组添加。删除新元素自动申请储存空间,另外一个实现类LinkedList,采用链表作数据结构,二者的差异在于前者查找方便,可以根据索引直接查到值,后者需要利用迭代器挨个儿查询。。。
咖啡小子 2012-07-25
  • 打赏
  • 举报
回复
java 中接口Collectio的实现类ArrayList采用数组作内部结构,可以自动管理数组大小,根据需要给数组添加。删除新元素自动申请储存空间,另外一个实现类LinkedList,采用链表作数据结构,二者的差异在于前者查找方便,可以根据索引直接查到值,后者需要利用迭代器挨个儿查询。。。
怎么演 2012-07-24
  • 打赏
  • 举报
回复
Vector就是可变数组
五哥 2012-05-03
  • 打赏
  • 举报
回复
java.util.vector
List(ArrayList)
crazyyujie 2012-05-03
  • 打赏
  • 举报
回复
学习,刚刚碰到这个问题。
数组定义之后不可变,要可变数组用类集合
lccxmj52 2012-01-05
  • 打赏
  • 举报
回复
可以用一下java.util.vector 是可变长度的数组
  • 打赏
  • 举报
回复
[Quote=引用楼主 leidongjiutian1 的回复:]
如题,不能像C和C++一样,java不能定义可变长数组。
[/Quote]

不可以!

数组是不可变对象,在编译时就确定其长度了,不允许你引用超过这个数组长度的索引。这是 Java 不用同 C/C++ 的一个地方。
原来缘来 2011-09-18
  • 打赏
  • 举报
回复
数组时不可变的
自己可以写个类Objects
字段是一个Object[]数组
其中有add()方法,每次判断是否越界,如果越界再new一个更大的Object[]数组,没有越界就直接添加

参考java.util.List
TKD03072010 2011-09-18
  • 打赏
  • 举报
回复
数组一旦创建是不可改变的 c 跟 c++也一样吧
Java中 可以试试 List
leidongjiutian1 2011-09-18
  • 打赏
  • 举报
回复
好的,谢谢各位了
liuyuhua0066 2011-09-17
  • 打赏
  • 举报
回复
基本类型的可变长数组确实是没有办法
非基本类型的可变长数组可以用下集合类
凌风雪雕 2011-09-17
  • 打赏
  • 举报
回复
集合就可以了啊
softroad 2011-09-17
  • 打赏
  • 举报
回复
你想干啥?
leidongjiutian1 2011-09-17
  • 打赏
  • 举报
回复
好吧,看来我是得好好学学泛型了。呵呵
加载更多回复(1)

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧