java合並兩個數組
1. 怎麼用java將兩個數組合並為一個新的數組
在Java中,將兩個數組合並為一個新的數組,如果不需要特別高效的處理,可以直接使用+操作符。例如:
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] newArray = Arrays.Of(array1, array1.length + array2.length);
System.array(array2, 0, newArray, array1.length, array2.length);
這將會把array2的內容添加到array1之後,形成一個新的數組newArray。
如果更傾向於簡潔的代碼,也可以直接使用+操作符,如:
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] newArray = Arrays.Of(array1, array1.length + array2.length);
newArray = newArray.concat(Arrays.stream(array2).toArray(Integer[]::new));
這里使用了Java 8的流處理,將array2轉換為流,然後合並到newArray中。
除了上述方法,還可以使用其他方式實現數組的合並,比如通過循環將array2的元素依次添加到newArray中,這種方式更為直接,但可能不如上述兩種方法簡潔。
值得注意的是,直接使用+操作符雖然簡潔,但在處理大規模數組時,可能會導致效率問題。因此,在實際開發中,根據具體需求選擇合適的方法進行合並。
在Java中,除了上述方法,還可以使用ArrayList進行數組的合並。例如:
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
List list1 = new ArrayList>();
List list2 = new ArrayList>();
for (int i : array1) {
list1.add(i);
}
for (int i : array2) {
list2.add(i);
}
List resultList = new ArrayList>();
resultList.addAll(list1);
resultList.addAll(list2);
int[] newArray = resultList.stream().mapToInt(Integer::intValue).toArray();
這種方式雖然相對復雜,但可以更好地利用ArrayList的特性,尤其是在需要動態調整數組大小時。
綜上所述,根據不同的需求和場景,可以選擇適合自己的方式來合並數組。在實際應用中,考慮到性能和代碼的可讀性,靈活選擇合並方法是非常重要的。
2. 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);
}
數組合並不一定非得遍歷
具體的輸出題主自己再修改吧
3. 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));//輸出數組
}
}
4. 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));
}
}
5. 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] + " ");
}
如有幫助請採納(不懂請提問),可以看我主頁,歡迎來交流學習;