Topic: 求扩充数组的方法?

  Print this page

1.求扩充数组的方法? Copy to clipboard
Posted by: lex
Posted on: 2003-06-07 00:09

我有一个String数组,
String[] columnNames = {"string1","string2","string3"};
数组是先定义好的,在之后的程序中,我想扩充这个数组。
一般情况下,每次只扩充一个单位。
我的方法是定义一个比原来大一个单位的数组,然后把原数组的内容拷贝进去,
最后设置最后一个单位的内容。
当然这个方法效率很低,所以请问一下,在java下还有没有什么好的解决方法。

2.Re:求扩充数组的方法? [Re: lex] Copy to clipboard
Posted by: nerd
Posted on: 2003-06-07 00:16

可以用collection吗?

3.Re:求扩充数组的方法? [Re: lex] Copy to clipboard
Posted by: Jove
Posted on: 2003-06-07 01:22

你的要求有点像自己实现一个ArrayList
内部分配一个Object[],在add的时候,如果需要就按一定策略增大
如按比例或是每次增大一个定额
维护一个int表示当前的大小

呵呵,还不如直接用ArrayList呢
在jdk1.5中,或许是ArrayList <String>,用起来更方便

4.Re:求扩充数组的方法? [Re: lex] Copy to clipboard
Posted by: floater
Posted on: 2003-06-07 03:18

Just use Vector or similar class, you don't need worry about the capacity.

If you check the Vector.java, you would be amazed that you are doing its job, Big Smile.

5.Re:求扩充数组的方法? [Re: lex] Copy to clipboard
Posted by: archonLing
Posted on: 2003-06-08 12:16

FYI. If I remember correctly some of the Collection classes' accessor methods are synchronized, such as Vector. Thus, they may cause some performance impacts when used in multi-threaded environment.

6.Re:求扩充数组的方法? [Re: lex] Copy to clipboard
Posted by: zeeler
Posted on: 2003-06-08 16:38

还是使用Vector或者ArrayList吧,数组是不能扩充的,除非你每次重新定义一个数组!Vector和ArrayList相比,前者速度快一些


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923