「java无限数组」java数组菜鸟教程
本篇文章给大家谈谈java无限数组,以及java数组菜鸟教程对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
JAVA怎么定义一个无限数组
C语言支持定义一个不显式定义长度的数组,即通过初始化数据来分配数组长度。
比如int a[] = {1,2,3,4,5}; 数组a的长度没有显式给出,由于有5个初始化数据,所以分配空间长度为5个int型。
但是无论如何定义,数组的长度都是固定的,在定义的时候就已经分配好空间,从这个角度上C语言无法定义无限长的数组。但很多实际应用中又事先无法确定数组的长度,对于这类情况,一般有两种方法可以使用。
1 由malloc和realloc两个函数,分配动态空间,随时按需改变数组的最大长度。
通过下面例子来理解该方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include stdio.h
#include stdlib.h
int main()
{
int size=100;//最初为100个元素空间。
int *a = NULL;
int i = 0;
a = malloc(sizeof(int) * size);
if(a == NULL) return -1;
while(scanf("%d", a+i) == 1)//循环向a中输入数据,直到输入非数值字符为止
{
i++;
if(i == size)//数组空间不足
{
size *=2; //将数组空间扩大二倍, 也可以改用size+=100;之类的操作,使size每次增加固定值。
a=realloc(a,size);//分配新的空间
if(a==NULL)
{
return -1;//这种情况下运行载体(如PC)内存不足以提供,中断程序。
}
}
}
if(a) free(a);//对申请的内存进行释放。
return 0;
}
从以上程序可以看到,这种方式的原理就是每当数组空间不足时,利用函数realloc分配一段新的内存空间以增大数组长度。 直到占满所有剩余空间。
如果到占满所有空间还是无法存下数据,那么是硬件无法支持了。
所以这种方法可以做到软件意义上的无限大数组空间。
但是这种方法代码量比较大,而且需要频繁的进行内存的分配,如果实现知道数据的最大可能规模,那么可以用另一个方法。
2 事先知道数据的最大规模,比如统计一个班的分数时,一个班最多不超过百人,那么可以直接定义一个长度为100的数组,或者保险起见,定义一个长度为1000的数组,并对其操作。这样在操作范围内,这个就是一个“无限长”的数组了。
如何定义JAVA的无限循环数组?
...为什么这么做?
你要无限循环不就在外面加个循环就得了
String[] array = {1,2,3};
while(true){
for (String str:array){
//do whatever you want
}
}
JAVA数组,无限数组…
数组必须有明确的值,你不帮ee赋值是通不过编译的!int[] a=new int[ee];只要你给ee一个值,那么他的大小就固定不可变了,数组里面装的东西一般是同一个类的对象,但是如:Object []a=new Object[1]你就可以装任意对象进去。你想在不知道你要在数组中装多少个元素的时候,建议你用向量Vector或者集合ArrayList或
LinkedList!不知道怎么用的话看API文档,很容易就会用了!!!!
JAVA无限数组
无限大?数组的长度肯定是要定义的
要无限大的话可以使用集合LIST arrary list 底层也是数组 不过你可以不用定义长度,就无限大了
java无限数组的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java数组菜鸟教程、java无限数组的信息别忘了在本站进行查找喔。