java可变长度数组
⑴ java声明一个可变大小int型数组
先声明一个对数组的引用,比如 int[] array; 在录入一个数组长度的int型值num。最后用new动态为array[]分配数组空间, array=new int[num]; public
⑵ 怎么定义一个java 的二维 可变长数组
两个vector嵌套就是了
你非要数组的话, 不好意思... 你要自创语言了
我所知没有哪个语言有你说的这种特性
⑶ java数组反转及可变长度问题
程序有问题,1和7换了两次,其他的也一样。
数组长度是不可变的
int[]a=new int[3];
int[]b=new int[5];
a=b;
现在a是5,a原来指向的数组没有了。
⑷ java怎样定义可变长数组
JAVA数组初始化后长度就被固定。
使用List来替代数组
用法:
List<String> l = new ArrayList<String>();
l.add("1");
l.add("2");
l.add("3");
System.ou.println(l.szie());
l.add("4");
System.ou.println(l.szie());
结果:
3
4
⑸ java怎样定义可变长数组
JAVA数组初始化后长度就被固定。
使用List来替代数组
用法版:
List<String> l = new ArrayList<String>();
l.add("1");
l.add("2");
l.add("3");
System.ou.println(l.szie());
l.add("4");
System.ou.println(l.szie());
结果:权
3
4
⑹ java中怎么实现可变数组
java中的数组是不可变的,所以要实现可变数组是不可能的了。如果非要改变数组的长度,那么也只能重新开辟一个新的数组然后将长度设定为想要的,然后放弃原来的数组,当然这个放弃的数组,如果没有被引用,它会很快就被GC掉。
java中有一个方法:System.array
通常我们都使用的是Arrays.Of,但你去看API就知道,其实Arrays.Of调用的也正是System.array
publicstaticint[]Of(int[]original,intnewLength){
int[]=newint[newLength];
System.array(original,0,,0,
Math.min(original.length,newLength));
return;
}
⑺ java中的数组能够在定以后改变长度吗
java中数组的长度不可以改变。
java中的数组的定义就是相同类型,固定长度的一组专数据,一旦属被初始化,长度不可更改。如果对需要用的数组的长度不确定,有两种解决办法:
第一种是在数组初始化的时候长度申请的足够大,这样做会造成内存空间的浪费,一般不推荐使用。
第二种是用java中提供的集合的方式存储数据,如List,Set和Map类型的对象存储数据,一方面这些类型的对象的长度都是动态增长的,另一方面这些类中提供了很多便于操作数据的方法,因此在对所需存储数据的多少不确定的时候,第二种方法比第一种方法更优秀。
⑻ java中数组的长度可以改变吗
你理解错了,你上抄面做的不是改变了长度,而是你把a2数组的指针的地址指向了a1,你打印的结果其实是a1的值
public class c8_5{
public static void main(String[] args){
int a1[]={2,5,8,25,36};
int a2[]={90,3,9};
a2[3]=5;
for(int i=0;i<a2.length;i++){
System.out.print(a2[i]+" ");
}
}
}
就肯定不对了
因为数组会初始化一个空间,不可以重新分配,如果想要用的话,你可以用链表List,它可以随意增加长度
⑼ 有关java中“变长”数组定义的问题
你可以使用setter方法即可。
如下所示:
publicclassPercolation{
privateintgridSize;
privateint[]openState;//数组,期望长度gridSize*gridSize
privateint[]UFstate;//数组,期望长度gridSize*gridSize
publicPercolation(intn){//createn-by-ngrid,withallsitesblocked
gridSize=n;
}
privatevoidsetOpenState(){
this.openState=newint[this.gridSize*this.gridSize];
}
privatevoidsetUFstate(){
this.UFstate=newint[this.gridSize*this.gridSize];
}
privateint[]getOpenState(){
returnthis.openState;
}
privateint[]getUFstate(){
returnthis.UFstate;
}
publicstaticvoidmain(String[]args){
Percolationper=newPercolation(10);
per.setOpenState();
per.setUFstate();
System.out.println(per.getOpenState());
}
}
⑽ JAVA中如何动态改变数组长度 动态数组 array
array是数组复制的意思,给你个例子。
public class ArrayTest {
// array(Object src, int srcStartIndex, Object dest, int destStartIndex,
// int length)
// 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
// srcStartIndex:原数组中要开始复制的第一个元素的位置
// destStartIndex: 目标数组中要开始替换的第一个元素的位置
// length: 要复制的元素的个数
public static void main(String[] args) {
// 静态初始化两个长度不同的数组
int src[] = { 1, 2, 3, 4, 5, 6 };
int dest[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
// 将数组src的4个元素到数组dest中
System.array(src, 1, dest, 2, 4);
// 输出数组dest
for (int i = 0; i < 10; i++) {
System.out.println(dest[i]);
}
}
}