「java无限数组」java数组菜鸟教程

博主:adminadmin 2023-03-21 03:16:06 499

本篇文章给大家谈谈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无限数组的信息别忘了在本站进行查找喔。