当前位置:首页 » 编程语言 » java数组合并

java数组合并

发布时间: 2023-02-03 11:47:02

A. java中如何把两个数组合并为一个

import java.util.Arrays;

//Java中如何把两个数组合并为一个
public class gog {
public static void main(String[] args) {
String [] str1 = {"J","a","v","a","中"};
String [] str2 = {"如","何","把","两","个","数","组","合","并","为","一","个"};

int strLen1=str1.length;//保存第一个数组长度
int strLen2=str2.length;//保存第二个数组长度
str1= Arrays.Of(str1,strLen1+ strLen2);//扩容
System.array(str2, 0, str1, strLen1,strLen2 );//将第二个数组与第一个数组合并
System.out.println(Arrays.toString(str1));//输出数组

}
}

B. java中面向对象要求合并两个同类型的数组生成一个新数组

参考逻辑
int len1 = array1.length();
int len2 = array2.length();
// 首先,定义一个新的Object数组
Object[] fullArray = new Object[len1 + len2];
// 拷贝数据
for(int i = 0; i < len1; i++) {
fullArray[i] = array1[i];
}
for(int i = len1; i < len1+len2; i++) {
fullArray[i] = array2[i - len1];
}

C. java怎么将2个数组的数据合并

concat()方法是对字符串的操作,不是对整数或数组。

concat()用法:
String a="abc";
String b="edf";
String c=a.concat(b);
c的值为“abcdef"
数组可以用for循环合并:
public static void main(String[] args){
int a[]={1,7,9,11,13,15,17,19};
int b[]={2,4,6,8,10};
int aL=a.length;
int bL=b.length;
int lenght=aL+bL;
int[] c=new int[lenght];
for(int i=0;i<lenght;i++){
if(i<aL){//
c[i]=a[i];
}
else{
c[i]=b[i-aL];
}
}
for(int i=0;i<c.length;i++){
System.out.print(c[i]+" ");
}
}

D. 编写JAVA程序,实现两个数组的合并,并按升序排列合并后的数组

packagetest;

importjava.util.Arrays;
importjava.util.Comparator;

publicclassJButtonTest
{
publicstaticvoidmain(String[]args)
{
int[]arr1={3,1,23};
int[]arr2={27,7,2};
Stringtemp=Arrays.toString(arr1)+Arrays.toString(arr2);
temp=temp.replaceAll("\]\[",",").replaceAll("\s","").replaceAll("[\[\]]","");
String[]result=temp.split("\,");
System.out.println(Arrays.toString(result));
Arrays.sort(result,newComparator<String>()
{
@Override
publicintcompare(Stringo1,Stringo2)
{
inta=Integer.parseInt(o1),b=Integer.parseInt(o2);
if(a>b)
{
return1;
}
elseif(a<b)
{
return-1;
}
else
{
return0;
}
}
});
System.out.println(Arrays.toString(result));
}
}

E. java合并两个有序数组

package com.lili.test;

import java.util.Random;
import java.util.Arrays;
/**]
* 合并两数组为一个有序数组
* @作者: lili
* @日期: Nov 9, 2009
*/
public class TestMe {

/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) {

int a[] = new int[6];
int b[] = new int[6];
Random r = new Random();
for (int i = 0; i < a.length; i++) {
a[i] = r.nextInt(100);
}
for (int i = 0; i < b.length; i++) {
b[i] = r.nextInt(100);
}
System.out.println("合并前--------------------------------------");
for (int i = 0; i < a.length; i++) {
System.out.print("A[" + i + "] = " + a[i]+"\t");
}
System.out.println();
for (int i = 0; i < b.length; i++) {
System.out.print("B[" + i + "] = " + b[i]+"\t");
}
System.out.println();
System.out.println("合并前--------------------------------------");
int[] c = concatArray(a, b);
System.out.println("合并后大小:" + c.length);
for (int i = 0; i < c.length; i++) {
System.out.print("c[" + i + "] = " + c[i]+"\t");
if (i % 3 == 0 && i!=0) {
System.out.println();
}
}
}

/**
* 合并两个 int[]型数组为一个有序数组(升序)
*
* @param aArray
* @param bArray
* @return
*/
public static int[] concatArray(int[] aArray, int[] bArray) {
int[] cArray = null;
/*
* 保证参数的合法证
*/
if (aArray == null || bArray == null) {
return aArray == null ? bArray : aArray;
}
if (aArray != null && bArray != null) {
cArray = new int[aArray.length + bArray.length];
}
/*
* 合并前排序
*/
Arrays.sort(aArray);
Arrays.sort(bArray);
/*
* 各数组 的当前 index
*/
int aArray_index = 0;
int bArray_index = 0;
/*
* 开始合并
*/
for (int i = 0; i < cArray.length; i++) {
if (aArray_index > aArray.length - 1
|| bArray_index > bArray.length - 1) {
break;
} else {
int a = aArray[aArray_index];
int b = bArray[bArray_index];

if (a == getMin(a, b)) {
aArray_index++;

cArray[i] = a;
} else {
bArray_index++;
cArray[i] = b;
}
}
}
/*
* 其中一个数组被合并完毕
*/
if (aArray_index < aArray.length - 1) {
for (int i = aArray_index + bArray.length; i < cArray.length; i++) {
cArray[i] = aArray[aArray_index++];
}
} else if (bArray_index < bArray.length - 1) {
for (int i = bArray_index + aArray.length; i < cArray.length; i++) {
cArray[i] = bArray[bArray_index++];
}
}
return cArray;
}

/**
* 求两数之间比较小的一个数
*
* @param a
* @param b
* @return
*/
public static int getMin(int a, int b) {
return a - b <= 0 ? a : b;
}
}

F. java,数组拼接,求大神帮忙!

publicstaticvoidmain(String[]args){
Listlist=newLinkedList();
intsize=3;
int[]a={2,5,6,7,9,5,7};
int[]b={1,7,4,3,4};
list.add(a);
list.add(b);
int[]ints=concatArr(list,size);
StringBuilderrs=newStringBuilder();
for(intanInt:ints){
rs.append(anInt+",");
}
System.out.println(rs.substring(0,rs.length()-1));
}

publicstaticint[]concatArr(Listlist,Integersize){
Listrs=newLinkedList();
intcount=list.size();
intindex=0;
while(count>0){
for(Objecto:list){
for(inti=index;i<index+size;i++){
try{
int[]arr=(int[])o;
rs.add(arr[i]);
}catch(Exceptione){
count--;
break;
}
}
}
index+=size;
}
int[]rsArr=newint[rs.size()];
for(inti=0;i<rs.size();i++){
rsArr[i]=(int)rs.get(i);
}
returnrsArr;
}

G. java中怎么合并两个数组 简单明了的

int[]arr1={1,2,3,4,11};
int[]arr2={6,7,8,9,10};
intnewLength=arr1.length+arr2.length;
int[]arr_target=newint[newLength];
//参数:源数组,源数组起始位置,目标数组,目标数组起始位置,复制长度
System.array(arr1,0,arr_target,0,arr1.length);
System.array(arr2,0,arr_target,arr1.length,arr2.length);
//输出合并后数组
for(inti:arr_target){
System.out.println(i);
}
//排序
Arrays.sort(arr_target);
//输出排序数组
for(inti:arr_target){
System.out.println(i);
}
//逆序
int[]arr_reverse=newint[newLength];
intflag=0;
for(inti:arr_target){
arr_reverse[newLength-flag-1]=i;
flag++;
}
//输出逆序数组
for(inti:arr_reverse){
System.out.println(i);
}

数组合并不一定非得遍历

具体的输出题主自己再修改吧

H. java编写合并两个数组,{1,2,3,4,5} {4,5,6,7,8}

分为两步:
1.连接两个数组.
2.清除重复的元素.

import java.util.Arrays;

public class Combine{
public static void main(String[] args){
int a[]={1,2,3,4,5};
int b[]={4,5,6,7,8};

int temp[]=new int[a.length+b.length];

//连接两个数组
for(int i=0;i<a.length;i++){
temp[i]=a[i];
}
for(int i=0;i<b.length;i++){
temp[a.length+i]=b[i];
}

//连接数组完成,开始清除重复元素
int size=temp.length;
for(int i=0;i<temp.length;i++){
if(temp[i]!=-1){
for(int j=i+1;j<temp.length;j++){
if(temp[i]==temp[j]){
temp[j]=-1;//将发生重复的元素赋值为-1
size--;
}
}
}
}

int[] result=new int[size];
for(int i=0,j=0;j<size && i<temp.length;i++,j++){
if(temp[i]==-1){
j--;
}
else{
result[j]=temp[i];
}
}

//打印结果
System.err.println(Arrays.toString(result));
}
}

I. java两个数组合并用for循环

//两个数组
String[] str1 = {"a","b","c"};
String[] str2 = {"d","e","f"};
//创建一个要接收的数组
String[] str3= new String[str1.length+str2.length];
//先把第一个数组放进去
for(int x=0;x<str1.length;x++){

str3[x] = str1[x];
}
for(int y=0;y<str2.length;y++){
str3[str1.length+y]=str2[y];
}
for(int y=0;y<str3.length;y++){
System.out.println(str3[y] + " ");
}
如有帮助请采纳(不懂请提问),可以看我主页,欢迎来交流学习;

J. JAVA怎么合并两个数组

三种字符数组合并的方法
publicstaticString[]getOneArray(){
String[]a={"0","1","2"};
String[]b={"0","1","2"};
String[]c=newString[a.length+b.length];
for(intj=0;j<a.length;++j){
c[j]=a[j];
}
for(intj=0;j<b.length;++j){
c[a.length+j]=b[j];
}
returnc;
}
publicstaticObject[]getTwoArray(){
String[]a={"0","1","2"};
String[]b={"0","1","2"};
ListaL=Arrays.asList(a);
ListbL=Arrays.asList(b);
ListresultList=newArrayList();
resultList.addAll(aL);
resultList.addAll(bL);
Object[]result=resultList.toArray();
returnresult;
}
publicstaticString[]getThreeArray(){
String[]a={"0","1","2","3"};
String[]b={"4","5","6","7","8"};
String[]c=newString[a.length+b.length];
System.array(a,0,c,0,a.length);
System.array(b,0,c,a.length,b.length);
returnc;
}

Reference:http://www.cnblogs.com/changhong/articles/2242323.html

热点内容
服务器在线访问数由什么决定 发布:2024-05-06 11:39:15 浏览:677
途观21款哪个配置值得买 发布:2024-05-06 11:29:00 浏览:91
pythonspyder 发布:2024-05-06 11:15:53 浏览:165
线上服务器如何资源监控 发布:2024-05-06 11:15:07 浏览:298
页游脚本检测 发布:2024-05-06 11:05:05 浏览:924
七七网源码 发布:2024-05-06 10:27:36 浏览:295
shell输入脚本 发布:2024-05-06 10:19:49 浏览:985
通达信自定义板块在哪个文件夹 发布:2024-05-06 09:56:37 浏览:104
在linux搭建mqtt服务器搭建 发布:2024-05-06 09:52:00 浏览:559
windowspython23 发布:2024-05-06 09:27:50 浏览:748