中易网

java中将数组的长度扩大1的方法,有吗

答案:5  悬赏:80  
解决时间 2021-03-01 00:05
java中将数组的长度扩大1的方法,有吗
最佳答案
java中没有关于修改数组长度的api,在此提供了修改数组长度的两个函数:arrayAddLength()和arrayReduceLength()。

import java.lang.reflect.Array;

public class ArrayTest {


public static void main(String[] args) {
int a[]= new int[]{0,1,2,3,4,5};
int b[]= new int[]{0,1,2,3,4,5};
a = (int[]) arrayAddLength(a,2);
b = (int[]) arrayReduceLength(b,2);
//out print array lenght
System.out.println(a.length);
for (int i=0;iSystem.out.print(a[i]);
}
System.out.println();

System.out.println(b.length);
for (int i=0;iSystem.out.print(b[i]);
}
}

public static Object arrayAddLength(Object oldArray,int addLength) {
Class c = oldArray.getClass();
if(!c.isArray())return null;
Class componentType = c.getComponentType();
int length = Array.getLength(oldArray);
int newLength = length + addLength;
Object newArray = Array.newInstance(componentType,newLength);
System.arraycopy(oldArray,0,newArray,0,length);
return newArray;
}

public static Object arrayReduceLength(Object oldArray,int reduceLength) {
Class c = oldArray.getClass();
if(!c.isArray())return null;
Class componentType = c.getComponentType();
int length = Array.getLength(oldArray);
int newLength = length - reduceLength;
Object newArray = Array.newInstance(componentType,newLength);
System.arraycopy(oldArray,0,newArray,0,newLength);
return newArray;
}
}
全部回答
只能用arraylist吧,数组的长度是确定的。
你往数组里面插入一个对象就ok了,长度就扩大1
java中数组的长度是固定的,不能够改变。如果说有需求要经常改变长度,建议你使用list集合,将数组转换为集合的方法: Lista=Arrays.asList(数组名);注意:asList的方法参数必须是对象,所以如果你的数组是int类型的,那么需要改变为Integer类型!!
java中数组在声明的时候就需要给出长度或者存储的对象,这个时候数组的长度已经固定了,对于这个数组来说,它的长度是不能再改变的,除非你重新创建一个数组对象。
如果长度需要改变,建议用集合
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
立邦.嘉宝莉.可耐美.多乐士哪个好
景德镇陶瓷总汇这个地址在什么地方,我要处理
会声会影 导出的时候怎么取消渲染
余生醉酒你别走什么意思
当天委托买入没有成交。收盘后撤单有用吗
有没有类似促巴卡的游戏
想学瑜伽,当老师
为什么有些物料在配制前需要进行干燥
料角门在什么地方啊,我要过去处理事情
红运楼客栈在什么地方啊,我要过去处理事情
附近的一个打招呼的女号,要加你好友还要跟你
写一段介绍自己生活地区的代表剧种的主要特点
胀痛的胀的拼音
海尔专卖店上津店地址有知道的么?有点事想过
梦见小孩出生现金光
推荐资讯
豆汤饭馆我想知道这个在什么地方
小优才少儿教育培训中心地址有知道的么?有点
孕妇能吃反季节的水果吗
What does Mary do on Saturday ?
笔名怎么取好? 本人的星座是:天蝎。性别:
中国贫困的根本原因,是人口众多吗?
吉林铁路分局职工子弟第三中学地址在什么地方
湖东小区9号楼地址在什么地方,想过去办事
双福源大馅锅烙怎么去啊,有知道地址的么
三国杀到底有多少个扩充包
天车安装马鞍是干什么
存字井怎么去啊,有知道地址的么
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?