Java Join concat Arrays

May 9, 2011 | Arrays in Java

Java Join concat Arrays

Summary: By the end of this tutorial Java "Join concat Arrays", you will be comfortable to concatenate two Java arrays. Explained in simple terms, example code and screenshot for a Beginner.

There is no direct method in Java to join arrays (but there is a method to join two strings, concat()). You write the code yourselves. Following program writes a method that can join arrays; here an example of string arrays is taken. joinArrays() method is user-designed to concatenate two arrays.

Program on Java Join concat Arrays
public class StringArrayManipulations
{
  public static String[] joinArrays(String names1[], String names2[])
   {
     String result[] = new String[names1.length + names2.length];

     int i = 0;
     for(; i < names1.length; i++)     // do not write i=0 in for loop as i is used in next for loop also
     {
       result[i] = names1[i];
     }
     for(int k = 0; k < names2.length; i++, k++)
     {
       result[i] = names2[k ];
     }
     return result;
   }
   public static void main(String args[])
   {
     String students[] = { "Jyosthi", "Jyostna", "Sridhar" };           
     String teachers[] = { "S N Rao", "Chandu", "Srinivas" };     
     String overall[] = joinArrays(students, teachers);
     for(String str : overall)
     {
       System.out.print(str + ", ");
     }      
   }
}

Java Join concat Arrays

Two string arrays of students and teachers are initialized and passed to joinArrays() method.

       public static String[] joinArrays(String names1[], String names2[])

Observe, the joinArrays() takes two string array objects as parameters and values for these are passed from main() method.

       String result[] = new String[names1.length + names2.length];

A new string array result is created with the size of both the arrays names1 and names2. In two for loops elements of both arrays are copied into the new array result.

       for(String str : overall)
       {
         System.out.print(str + ", ");
       }

An enhanced for loop, introduced with JDK 1.5, is used to print the merged array elements.

Another style of Java Join concat Arrays using arraycopy() method
public class StringArrayManipulations
{
  public static void joinArrays(String names1[], String names2[])
  {
    String result[] = new String[names1.length + names2.length];

    System.arraycopy(names1, 0, result, 0, names1.length);
    
    System.arraycopy(names2, 0, result, names1.length, names2.length);

    for(String str : result)
    {
      System.out.print(str + ", ");
    }      
  }
  public static void main(String args[])
  {
    String students[] = { "Jyosthi", "Jyostna", "Sridhar" };           
    String teachers[] = { "S N Rao", "Chandu", "Srinivas" };     
    
    joinArrays(students, teachers);
  }
}

For syntax of arraycopy(), refer "Java Array Copying".

Can you answer these questions?

Array related topics that increase array manipulation techniques