当前位置: 技术问答>java相关
请问Vector和ArrayList里存放的数据大小有没有限制?
来源: 互联网 发布时间:2015-03-29
本文导语: 我把一个Message[]存在Vector和ArrayList都试了,都只能保存16个Mesage,但是我一共有27个,每个Message的大小不定,有3M的,也是20多K的,请问把怎么才能都保存在Vector或ArrayList,哪个效率更高一些呢?请指教,谢谢! ...
我把一个Message[]存在Vector和ArrayList都试了,都只能保存16个Mesage,但是我一共有27个,每个Message的大小不定,有3M的,也是20多K的,请问把怎么才能都保存在Vector或ArrayList,哪个效率更高一些呢?请指教,谢谢!
|
Vector和ArrayList
看看tree
ArrayList:
java.lang.Object
|
+--java.util.AbstractCollection
|
+--java.util.AbstractList
|
+--java.util.ArrayList
Vector:
java.lang.Object
|
+--java.util.AbstractCollection
|
+--java.util.AbstractList
|
+--java.util.Vector
区别
that this implementation is not synchronized
List list = Collections.synchronizedList(new ArrayList(...));
ArrayList没有同步化
可以这样定义
protected AbstractList list = new ArrayList();
我是喜欢用ArrayList
看看tree
ArrayList:
java.lang.Object
|
+--java.util.AbstractCollection
|
+--java.util.AbstractList
|
+--java.util.ArrayList
Vector:
java.lang.Object
|
+--java.util.AbstractCollection
|
+--java.util.AbstractList
|
+--java.util.Vector
区别
that this implementation is not synchronized
List list = Collections.synchronizedList(new ArrayList(...));
ArrayList没有同步化
可以这样定义
protected AbstractList list = new ArrayList();
我是喜欢用ArrayList
|
agree ...andiyang(【小风景】) (2002-2-2 11:11:18)
Vector 和ArrayList是一样的,(参看jdk源代码)
但是Vector主要用来处理多线程
ArrayList则不是,java的synchronized方法是要付出很大代价的。所以在单线程中使用
ArrayList性能要远远高于Vector
另外:
现在的Vector在处理多线程页不一定没有bug..但是在jdk1.4beta&rc中,对Vector的同步化进行了小的修改。
Vector 和ArrayList是一样的,(参看jdk源代码)
但是Vector主要用来处理多线程
ArrayList则不是,java的synchronized方法是要付出很大代价的。所以在单线程中使用
ArrayList性能要远远高于Vector
另外:
现在的Vector在处理多线程页不一定没有bug..但是在jdk1.4beta&rc中,对Vector的同步化进行了小的修改。
|
看JVM有多大内存。
|
跟大小没有关系(存的是reference)