java.util.List 的大小
今天在看API的时候,忽然看见List对象的size()方法返回的是int类型,于是就想知道是不是只能存放int的最大数值2147483647个。
但是,用自己电脑跑了一下,代码如下:
public static void main(String[] args) {
 List<String> list = new ArrayList<String>();
 for(long i = 0 ; i < Long.MAX_VALUE ; i++){
 list.add("" + i);
 System.out.println(i);
 }
 }
 
跑到11451102就内存溢出了,
11451098
 11451099
 11451100
 11451101
 11451102
 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
 at java.util.Arrays.copyOf(Arrays.java:2760)
 at java.util.Arrays.copyOf(Arrays.java:2734)
 at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
 at java.util.ArrayList.add(ArrayList.java:351)
 at com.peter.list.AboutListSize.main(AboutListSize.java:14)
 
而且,不知道哪位大神有没有跑多,Long类型的最大数9223372036854775807能不能跑到呢?
 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号