『壹』 java中list最多可以存儲多少條數據40萬可以嗎
上面的很明顯沒有看懂題目
這是問list最多存儲多少條數據,而不是存的每一條數據的大小
這應該是在於虛擬機內存的上限(我在剛剛成功存入了30000000+條後,內存不足了),究竟有沒有上限我不敢確定
你可以使用以下代碼進行嘗試:
public static void main(String args[]){
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=0;i<100000000;i++){
list.add(i);
if(i%10000000==0){
System.out.println("current i = "+i);
getFree();
}
}
System.out.println(list.get(99999999));
}
public static void getFree(){
System.out.println("free:"+Runtime.getRuntime().freeMemory());
System.out.println("max:"+Runtime.getRuntime().maxMemory());
System.out.println("total:"+Runtime.getRuntime().totalMemory()+"\n");
}
『貳』 java中list最多可以存儲多少條數據40萬可以嗎
從語言上來看,java.util.List只是介面,有N多實現,最常用的是ArrayList和LinkedList及其各種繼承或同步化實現(如Vector/Queue/Stack這些的)
ArrayList內部是拿數組存儲,那麼上限就是Integer.MAX_VALUE。
LinkedList內部是個鏈表,理論上是無限的。
『叄』 java list 最大能存多少數據
List的size()返回類型是int,決定了它最大存儲數據是2的32次方
當然,這是理論大小,實際上要根據存儲的對象佔用空間大小來定
『肆』 Java中,List裡面最多可以存儲多少數據
要是ArrayList存的是int、float的基本數據類型,其最大的容量是2的21次方,要是存的是純對象類型,其最大容量是2的19次方,它的限制條件的很大一個是內存問題,就是計算機的堆空間用完了
『伍』 list能放300萬數據嘛
能放數據的多少和對象的大小都是有關系的,大小方面也很容易計算,一個對象如果1K,那3000,000個就至少要佔用3g的內存(不算其他佔用)。
拓展資料:從語言上來看,java.util.List是個介面,其下有N多實現,最常用的是ArrayList和LinkedList及其各種繼承或同步化實現(如Vector/Queue/Stack這些的)
ArrayList內部是拿數組存儲,那麼上限就是Integer.MAX_VALUE
LinkedList內部是個鏈表,理論上是無限的
另外,List里放的東西都是在內存里的(當然你也可以自己實現一個放磁碟上的),因此能放多少也取決於你放的東西的大小以及種類。
大小方面很容易計算,一個對象如果1K,那400,000個就至少要佔用400M的內存(不算其他佔用)。
而虛擬機內存分類方面,如果是普通對象,一般佔用的都是堆(Heap)空間,如果是常量或是類似String.intern()出來的東東,則佔用的是永生帶(Permanent Generation)。
實際開發中,虛擬機默認內存大小根據不同的虛擬機實現有所不同,可以在啟動應用時用-Xmx調整最大堆大小,比如調整堆最大大小為2G:
java -Xmx2048m cn.gefostudio.App
調整永生帶最大大小為1G:
java -XX:MaxPermSize=1024m cn.gefostudio.App
『陸』 python中list的大小最大是多少
一般應用場景都不用考慮這個大小,因為這個上限很高,需要用到這么多元素的list的時候,都需要考慮很多其它問題。
1,32位python的限制是 536870912 個元素。
2,64位python的限制是 1152921504606846975 個元素。
『柒』 java 中的List 最大可以存放多少條數據
從語言上來看,java.util.List是個介面,其下有N多實現,最常用的是ArrayList和LinkedList及其各種繼承或同步化實現(如Vector/Queue/Stack這些的)
ArrayList內部是拿數組存儲,那麼上限就是Integer.MAX_VALUE
LinkedList內部是個鏈表,理論上是無限的
另外,List里放的東西都是在內存里的(當然你也可以自己實現一個放磁碟上的),因此能放多少也取決於放的東西的大小以及種類。
大小方面很容易計算,一個對象如果1K,那400,000個就至少要佔用400M的內存(不算其他佔用)。
而虛擬機內存分類方面,如果是普通對象,一般佔用的都是堆(Heap)空間,如果是常量或是類似String.intern()出來的東東,則佔用的是永生帶(Permanent Generation)。
實際開發中,虛擬機默認內存大小根據不同的虛擬機實現有所不同,可以在啟動應用時用-Xmx調整最大堆大小,比如調整堆最大大小為2G:
所以40萬是放得下的
『捌』 最大list長度是多少
一般應用場景都不用考慮這個大小,因為這個上限很高,需要用到這么多元素的list的時候,都需要考慮很多其它問題。
32位python的限制是 536870912 個元素。
64位python的限制是 1152921504606846975 個元素。
『玖』 list能夠存儲百萬跳數據嗎
一般是不把百萬條數據都存儲在list裡面的。因為如果都存儲的話,使用list的時候會把這些數據全部讀入內存,這樣不太好。推薦存儲在文件中,讀取的時候分條讀取。