当前位置:首页 » 存储配置 » 存储到一个新的数组中

存储到一个新的数组中

发布时间: 2022-07-23 01:27:18

java编程将a,b数组中不同的数字保存到一个新的数组中

建立一个临时数组 定义一个length来记录新加入的元素个数 然后把a b 的元素逐个加入到新数组中 加入前先用Arrays.binarySearch 检查新数组中是否已经有该元素 最后返回

以下代码仅供参考

importjava.util.Arrays;

publicclassTestCircle{
publicstaticvoidmain(Stringargs[]){
int[]a=newint[]{1,3,5,2,9,5};
int[]b=newint[]{2,5,7,10,9,11};

int[]temp=addArray(a,b);

System.out.print("[");
for(inti:temp){
System.out.print(i+"");
}
System.out.print("]");

}

staticint[]addArray(int[]a,int[]b){
int[]temp=newint[a.length+b.length];
intlength=0;

for(inti:a){
Arrays.sort(temp);
if(Arrays.binarySearch(temp,i)<0){
temp[temp.length-length-1]=i;
length++;
}

}

for(inti:b){
Arrays.sort(temp);
if(Arrays.binarySearch(temp,i)<0){
temp[temp.length-length-1]=i;
length++;
}
}

returnArrays.OfRange(temp,temp.length-length,temp.length);
}

}

若你能保证a中的元素都是无重复的话 可以简化成以下

importjava.util.Arrays;

publicclassTestCircle{
publicstaticvoidmain(Stringargs[]){
int[]a=newint[]{1,3,5,2,9};
int[]b=newint[]{2,5,7,10,9,11};

Arrays.sort(a);

int[]temp=addArray(a,b);

System.out.print("[");
for(inti:temp){
System.out.print(i+"");
}
System.out.print("]");

}

/**
*这里a数组必须是有序不重复的
*/
staticint[]addArray(int[]a,int[]b){
int[]temp=Arrays.Of(a,a.length+b.length);
intlength=a.length;

for(inti:b){
if(Arrays.binarySearch(a,i)<0){
temp[length]=i;
length++;
}
}

returnArrays.Of(temp,length);
}

}

⑵ 请问如何将 关联数组 里面的值提出 来存到一个新的数组中

在学习核心问题是:如何将 数据存放在数组$datay 里面!可能有的师兄还不明白:目的:1.从数据库中提出一系列数据,比如1254,4545,54545,545,54564,54564。分别代表了一月到六月的上网流量;2.将这些数字的高度作为Y坐标(Y轴,这个不会不这道吧?),3.横坐标是X轴,是1,2,3,4,5,64.以直立方图(这个不会不知道把?) 动态,显示出来,是动态的显示,不是静态的哦。

⑶ 将数组序号存入一个新的数组

其实用ArrayList存放数据更好,可以动态增加。像现在这样,要先判断数组位数。如果先申请6位大小数组,如果实际只有4位数,那么还有2为空间是不放东西的。而int默认是0,所以你输出的结果就会有6位,最后2位为0。这样就不合理。但像我下面写的,虽然解决这个问题,但是增加了代码。所以还是用ArrayList存放更好。
不过还是把数组的代码放下面

public class test {
public static void main(String args[]){
int nums[]={31,22,45,0,0,87};
int length=nums.length;
int newnums[]=new int[length];
int t=0;
//先判断有多少个大于30的数
for(int i=0;i<nums.length;i++){
if(nums[i]>30){
newnums[t]=nums[i];
t++;
}
}
//有t个数
int result[]=new int[t];
for(int j=0;j<t;j++){
result[j]=newnums[j];
System.out.println(newnums[j]);//输出结果
}
}
}

热点内容
linux命令全称 发布:2024-05-17 12:07:54 浏览:110
ftpnas区别 发布:2024-05-17 12:06:18 浏览:949
512g存储芯片价格 发布:2024-05-17 12:04:48 浏览:963
脚本运行周期 发布:2024-05-17 11:39:09 浏览:808
阿里云服务器怎么配置发信功能 发布:2024-05-17 11:37:24 浏览:313
编程中的变量 发布:2024-05-17 11:33:06 浏览:777
加密视频怎么解密 发布:2024-05-17 11:02:52 浏览:571
柳工挖机密码多少合适 发布:2024-05-17 11:00:40 浏览:188
android工程叹号 发布:2024-05-17 10:56:21 浏览:481
在苹果手机应用怎么比安卓贵 发布:2024-05-17 10:56:20 浏览:548