① java List的容量有多大
理论上是int型的最大值 0x7fffffff
② java中怎么获取list长度
java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性
java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法
java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看
③ Java中,List里面最多可以存储多少数据
要是ArrayList存的是int、float的基本数据类型,其最大的容量是2的21次方,要是存的是纯对象类型,其最大容量是2的19次方,它的限制条件的很大一个是内存问题,就是计算机的堆空间用完了
④ java list 最大能存多少数据
List的size()返回类型是int,决定了它最大存储数据是2的32次方
当然,这是理论大小,实际上要根据存储的对象占用空间大小来定
⑤ 想问问如何限制java的list 的长度
java list得到属猪长度的方法如下:
1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.
2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.
3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看
public static void main(String[] args) {
String []list={"ma","cao","yuan"};
String a="macaoyuan";
System.out.println(list.length);
System.out.println(a.length());
List<Object> array=new ArrayList();
array.add(a);
System.out.println(array.size());
}
输出的值为:
3
9
1
⑥ java list 是如何使用内存的
当你Listlist=newArrayList();就创建一个list对象,这时候已经给list分配了内存,默认list的大小是10,10个对象初始为null,你也可以指定大小,
如newArrayList(5);
list.add()的时候,想向list中第i个不为null的地方写入插入对象的地址,
remove的时候是将地址的信息清除
如图是debug的证据
⑦ Java 中ArrayList如何比较其中的元素大小
可以。。。如下:
List<String> a = new ArrayList<String>();
a.add("1");
a.add("2");
List<String> b = new ArrayList<String>();
b.add("1");
//比较list a 和list b的长度
if(a.size() > b.size()){
System.out.println("a长");
}
//比较list a 和list b中的第一个元素的大小
if(a.get(0).compareTo(b.get(0)) == 0){
System.out.println("list a 中的第一个数和list b 中的第一个数一样大");
}
List你就可以理解为在创建时不需要指定长度并且他会自动增加长度的数组。
⑧ java里list里的数据,数组里的数据比较大小
如果是用java的排序实现:
int[] news = { 1, 3, 4, 5, 7, 8, 9, 11, 2, 6 };
Arrays.sort(news);
for (int i = 0; i < news.length; i++) {
System.out.println(news[i]);
}
如果是想自己实现一个排序,以下以冒泡为例:
int[] news = { 1, 3, 4, 5, 7, 8, 9, 11, 2, 6 };
for (int i = 0; i < news.length - 1; i++) {
for (int j = i; j < news.length; j++) {
if (news[i] > news[j]) {
int temp = news[j];
news[j] = news[i];
news[i] = temp;
}
}
}
for (int i = 0; i < news.length; i++) {
System.out.println(news[i]);
}
⑨ java中list最多可以存储多少条数据40万可以吗
和jdk配置的内存大小有关系,和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:
java -Xmx2048m cn.gefostudio.App
调整永生带最大大小为1G:
java -XX:MaxPermSize=1024m cn.gefostudio.App