Java get subarray: In the previous article we have discussed about Java Program to Print all SubArrays of a Given Array
In this article we are going to see how we can find subarray of an array between specified index by using Java programming language.
Java Program to Find a Subarray of an Array Between Specified Indexes
Java subarray: Let’s see different ways to find subarray of an array between specified index.
Method-1: Java Program to Find a Subarray of an Array Between Specified Indexes By Using Arrays.copyOfRange() Method
Approach:
- Take the array elements as input from the user.
- Store the elements in an array.
- Print the array to the user.
- Ask the user to enter the beginning and ending index and store the elements.
- Create another array and store the elements formed using the
copyOfRange()
library function. - Print the subarray.
Program:
import java.util.*; public class Main { public static void main(String[] args) { // Scanner to take Input Scanner sc = new Scanner(System.in); System.out.println("Enter array elements"); // Takes the input as a single string separated by space // and then splits it into elements of array String s = sc.nextLine(); String str[] = s.split(" "); // Prints the array elements System.out.println("Array-"+Arrays.toString(str)); // Asks the user to enter the start and end index of the subarray System.out.println("Enter the beginning and ending index-"); int start = sc.nextInt(), end = sc.nextInt(); // Stores the subarray formed using the copy range library fucntion String[] subArr = Arrays.copyOfRange(str,start,end+1); System.out.println("SubArray-"+Arrays.toString(subArr)); } }
Output: Enter array elements a b c d e f Array-[a, b, c, d, e, f] Enter the beginning and ending index- 2 4 SubArray-[c, d, e]
Method-2: Java Program to Find a Subarray of an Array Between Specified Indexes By Using Java Stream API
Approach:
- Take the array elements as input from the user.
- Store the elements in an array.
- Print the array to the user.
- Ask the user to enter the beginning and ending index and store the elements.
- Create another array and store the elements formed from the stream function.
- Print the subarray.
Program:
import java.util.*; import java.util.stream.IntStream; public class Main { public static void main(String[] args) { // Scanner to take Input Scanner sc = new Scanner(System.in); System.out.println("Enter array elements"); // Takes the input as a single line and then splits it into elements String s = sc.nextLine(); String str[] = s.split(" "); // Prints the array elements System.out.println("Array-"+Arrays.toString(str)); // Asks the user to enter the start and end index of the subarray System.out.print("Enter the beginning and ending index-"); int start = sc.nextInt(), end = sc.nextInt(); // Stores the subarray formed using the JAVA stream API String[] subArr = IntStream.range(start, end + 1) .mapToObj(i -> str[i]) .toArray(String[]::new); System.out.println("SubArray-"+Arrays.toString(subArr)); } }
Output: Enter array elements ab bc cd ef gh ij kl mn Array-[ab, bc, cd, ef, gh, ij, kl, mn] Enter the beginning and ending index-3 5 SubArray-[ef, gh, ij]
Want to excel in java coding? Practice with these Java Programs examples with output and write any kind of easy or difficult programs in the java language.
Related Java Programs: