🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
Introduction
Merging two arrays is a common task in programming. This operation involves combining the elements of two arrays into a single array. In this blog post, we will demonstrate how to merge two string arrays in Java. We will cover different approaches to achieve this task, including using simple loops, the System.arraycopy method, and Java Streams.
Table of Contents
- Using a Simple Loop
- Using
System.arraycopy - Using Java Streams
- Complete Example Program
- Conclusion
1. Using a Simple Loop
One of the simplest ways to merge two arrays is by using a loop. We iterate through the elements of both arrays and add them to a new array.
Example:
public class MergeArraysUsingLoop {
public static void main(String[] args) {
String[] array1 = {"Java", "is", "fun"};
String[] array2 = {"and", "powerful"};
// Merging the arrays
String[] mergedArray = new String[array1.length + array2.length];
int index = 0;
for (String element : array1) {
mergedArray[index++] = element;
}
for (String element : array2) {
mergedArray[index++] = element;
}
// Printing the merged array
System.out.println("Merged Array using Loop: ");
for (String element : mergedArray) {
System.out.print(element + " ");
}
}
}
Output:
Merged Array using Loop:
Java is fun and powerful
2. Using System.arraycopy
The System.arraycopy method provides a way to copy elements from one array to another. This method is efficient and concise.
Example:
public class MergeArraysUsingArrayCopy {
public static void main(String[] args) {
String[] array1 = {"Java", "is", "fun"};
String[] array2 = {"and", "powerful"};
// Merging the arrays
String[] mergedArray = new String[array1.length + array2.length];
System.arraycopy(array1, 0, mergedArray, 0, array1.length);
System.arraycopy(array2, 0, mergedArray, array1.length, array2.length);
// Printing the merged array
System.out.println("Merged Array using System.arraycopy: ");
for (String element : mergedArray) {
System.out.print(element + " ");
}
}
}
Output:
Merged Array using System.arraycopy:
Java is fun and powerful
3. Using Java Streams
Java Streams provide a modern and functional approach to merge arrays. The Stream API can be used to concatenate two streams and then convert the result back into an array.
Example:
import java.util.Arrays;
import java.util.stream.Stream;
public class MergeArraysUsingStreams {
public static void main(String[] args) {
String[] array1 = {"Java", "is", "fun"};
String[] array2 = {"and", "powerful"};
// Merging the arrays
String[] mergedArray = Stream.concat(Arrays.stream(array1), Arrays.stream(array2))
.toArray(String[]::new);
// Printing the merged array
System.out.println("Merged Array using Streams: ");
for (String element : mergedArray) {
System.out.print(element + " ");
}
}
}
Output:
Merged Array using Streams:
Java is fun and powerful
4. Complete Example Program
Here is a complete program that demonstrates all the methods discussed above to merge two string arrays.
Example Code:
import java.util.Arrays;
import java.util.stream.Stream;
public class MergeStringArrays {
public static void main(String[] args) {
String[] array1 = {"Java", "is", "fun"};
String[] array2 = {"and", "powerful"};
// Using a Simple Loop
String[] mergedArrayUsingLoop = mergeUsingLoop(array1, array2);
System.out.println("Merged Array using Loop: ");
printArray(mergedArrayUsingLoop);
// Using System.arraycopy
String[] mergedArrayUsingArrayCopy = mergeUsingArrayCopy(array1, array2);
System.out.println("Merged Array using System.arraycopy: ");
printArray(mergedArrayUsingArrayCopy);
// Using Java Streams
String[] mergedArrayUsingStreams = mergeUsingStreams(array1, array2);
System.out.println("Merged Array using Streams: ");
printArray(mergedArrayUsingStreams);
}
// Method to merge arrays using a simple loop
public static String[] mergeUsingLoop(String[] array1, String[] array2) {
String[] mergedArray = new String[array1.length + array2.length];
int index = 0;
for (String element : array1) {
mergedArray[index++] = element;
}
for (String element : array2) {
mergedArray[index++] = element;
}
return mergedArray;
}
// Method to merge arrays using System.arraycopy
public static String[] mergeUsingArrayCopy(String[] array1, String[] array2) {
String[] mergedArray = new String[array1.length + array2.length];
System.arraycopy(array1, 0, mergedArray, 0, array1.length);
System.arraycopy(array2, 0, mergedArray, array1.length, array2.length);
return mergedArray;
}
// Method to merge arrays using Java Streams
public static String[] mergeUsingStreams(String[] array1, String[] array2) {
return Stream.concat(Arrays.stream(array1), Arrays.stream(array2))
.toArray(String[]::new);
}
// Method to print the array
public static void printArray(String[] array) {
for (String element : array) {
System.out.print(element + " ");
}
System.out.println();
}
}
Output:
Merged Array using Loop:
Java is fun and powerful
Merged Array using System.arraycopy:
Java is fun and powerful
Merged Array using Streams:
Java is fun and powerful
5. Conclusion
Merging two string arrays in Java can be accomplished in multiple ways, each with its own benefits. The simple loop method is straightforward and easy to understand, while System.arraycopy offers a more concise and efficient approach. Java Streams provide a modern, functional programming style to achieve the same result. By understanding these different methods, you can choose the one that best fits your needs and coding style.
Happy coding!
My Top and Bestseller Udemy Courses. The sale is going on with a 70 - 80% discount. The discount coupon has been added to each course below:
Build REST APIs with Spring Boot 4, Spring Security 7, and JWT
[NEW] Learn Apache Maven with IntelliJ IDEA and Java 25
ChatGPT + Generative AI + Prompt Engineering for Beginners
Spring 7 and Spring Boot 4 for Beginners (Includes 8 Projects)
Available in Udemy for Business
Building Real-Time REST APIs with Spring Boot - Blog App
Available in Udemy for Business
Building Microservices with Spring Boot and Spring Cloud
Available in Udemy for Business
Java Full-Stack Developer Course with Spring Boot and React JS
Available in Udemy for Business
Build 5 Spring Boot Projects with Java: Line-by-Line Coding
Testing Spring Boot Application with JUnit and Mockito
Available in Udemy for Business
Spring Boot Thymeleaf Real-Time Web Application - Blog App
Available in Udemy for Business
Master Spring Data JPA with Hibernate
Available in Udemy for Business
Spring Boot + Apache Kafka Course - The Practical Guide
Available in Udemy for Business
Comments
Post a Comment
Leave Comment