現在根據SCJP的列表最大值。大小應取決於可用內存的大小,但list.getSize()返回一個Integer。那麼假設INTEGER.MAXSIZE
是最大值是安全的。陣列容量。即int最大允許值Java中的數組列表的情況。列表的最大容量是多少
回答
好吧,由於ArrayList
由一個數組支持,因此它的最大容量不能高於數組的最大長度,該數組的最大長度由Integer.MAX_VALUE
(由於數組的索引始終爲int
)。
還有與您的問題相匹配的答案的另一個問題,也是一個簡單的例子來測試:Do Java arrays have a maximum size?。
有兩個限制:
1.-可用內存
2:整數
最大尺寸但是我敢肯定你打第二個限制之前第一。
希望有幫助!
我想我讀了一個關於「long」索引數組的提議,所以有些人似乎有足夠的內存來需要這樣的東西。但是,對於大多數人來說,內存限制必須是他們遇到的第一堵牆。 – Thilo
從不同的來源:
List是在Java中的接口,這意味着它可具有多個實施方式。其中一個實現是ArrayList,它是一個使用數組作爲數據結構來實現List接口行爲的類。
而且,由於ArrayList的基於陣列,你最大尺寸應該是:
Java數組是通過32位整數訪問,導致2147483647的最大理論陣列大小元素。
好吧,如果你的元素有一個內存空間足夠大,你既可以達到這個數字之前耗盡你的虛擬機的堆大小或者你的機器內存,雖然。
ArrayList的最大capasity上都是Integer.MAX_VALUE -8和ArrayList可以拋出的OutOfMemoryError
private static int hugeCapacity(int minCapacity) {
if (minCapacity < 0) // overflow
throw new OutOfMemoryError();
return (minCapacity > MAX_ARRAY_SIZE) ?
Integer.MAX_VALUE :
MAX_ARRAY_SIZE;
}
/**
* The maximum size of array to allocate.
* Some VMs reserve some header words in an array.
* Attempts to allocate larger arrays may result in
* OutOfMemoryError: Requested array size exceeds VM limit
*/
private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;
鏈表中沒有能力有限,但它可以返回無效的大小
public boolean add(E e) {
linkLast(e);
return true;
}
void linkLast(E e) {
final Node<E> l = last;
final Node<E> newNode = new Node<>(l, e, null);
last = newNode;
if (l == null)
first = newNode;
else
l.next = newNode;
size++;
modCount++;
}
- 1. 表中允許的最大列數是多少?
- 2. MemSQL的最大列數是多少?
- 3. 我的情況最好是什麼:矢量還是列表?
- 4. 對於mariadb,每個表的最大列數是多少
- 5. 多列HTML列表中的第一列中的項目數量是多少?
- 6. 嵌套數組影響性能的列表大小是多少?
- 7. Python中的列表與元組情況
- 8. java中散列表桶的大小是多少?
- 9. MariaDB中表連接的最大數量是多少?
- 10. 每種情況下的最大文件大小是多少?
- 11. Azure Sql數據倉庫表記錄的最大列數和大小是多少?
- 12. 我們可以添加到java列表中的元素的最大數量是多少?
- 13. 用最大和最小數字的增量數組列表
- 14. c#中的列表<string>的最大數據限制是多少?
- 15. 在不滾動列表的情況下重建容器列表
- 16. UNNotificationActions的最大數量是多少?
- 17. java中的數組列表
- 18. Java中的數組列表
- 19. Cassandra - 表的最大合理數量是多少?
- 20. 元組列表的最大數
- 21. 在Java中保存大量數據列表的最佳實踐
- 22. Go,Java和C#中數組的最大長度是多少?
- 23. Java - 從對象的數組列表中獲取最大值?
- 24. Java中Float的最大值是多少?
- 25. Java數組列表的大小問題
- 26. java中有1000個列表中的表達式的最大數量爲
- 27. 在不使用max的情況下打印列表中的最大數()
- 28. 陣列列表中同一位數的最大數量
- 29. 的Java數組列表/列表錯誤
- 30. Python:輸出列表= x輸入列表的最大數量
根據http://stackoverflow.com/questions/3038392/do-java-arrays-have-a-maximum-size Java數組的最大大小取決於虛擬機,並且在某些情況下小於'Integer.MAX_VALUE'。 – sdgfsdh
@sdgfsdh我誤解了你的評論或者你編輯了它。我以爲你指的是ArrayList的最大大小,而不是數組。 – Eran