# Java Array Tutorials
# Java Array Programs
➤ Find Length of Array
➤ Different ways to Print Array
➤ Sum of Array Elements
➤ Average of Array Elements
➤ Sum of Two Arrays Elements
➤ Compare Two Arrays in Java
➤ 2nd Largest Number in Array
➤ How to Sort an Array in Java
➤ Reverse an Array in Java
➤ GCD of N Numbers in Java
➤ Linear Search in Java
➤ Binary Search in Java
➤ Copy Array in Java
➤ Merge 2 Arrays in Java
➤ Merge two sorted Arrays
➤ Largest Number in Array
➤ Smallest Number in Array
➤ Remove Duplicates
➤ Insert at Specific Position
➤ Add Element to Array
➤ Remove Element From Array
➤ Count Repeated Elements
➤ More Array Programs
Java Matrix Programs
➤ Matrix Tutorial in Java
➤ Print 2D Array in Java
➤ Print a 3×3 Matrix
➤ Sum of Matrix Elements
➤ Sum of Diagonal Elements
➤ Row Sum – Column Sum
➤ Matrix Addition in Java
➤ Matrix Subtraction in Java
➤ Transpose of a Matrix in Java
➤ Matrix Multiplication in Java
➤ Menu-driven Matrix Operations
How to count repeated elements in an array in Java programming language. If the array is sorted then counting repeated elements in an array will be easy compare to the unsorted array.
Example1- an unsorted array,
Array = { 50, 20, 10, 40, 20, 10, 10, 60, 30, 70 };
Total Repeated elements: 2
Repeated elements are: 20 10
Example2- a sorted array,
Array = { 10, 10, 10, 20, 20, 30, 40, 50, 60, 70 };
Total Repeated elements: 2
Repeated elements are: 10 20
Java Program to Count Repeated Elements in an Array
The below program is applicable on any array which can be a sorted or an unsorted array. Here we will create a temporary array of similar length, traverse through the original array, and if the repeated element is found then insert it in the temporary array. If the next element is already available in the temporary array then skip it. The procedure to solve this problem,
a) Take an array
b) Create a new temporary array (assuming for the worst case when there are no duplicate elements)
c) Traverse through the original array
d) If the current element is available in the temporary array then skip checking for the current element.
e) Else compare the current element and all next elements.
f) If the match found then insert it into the temporary array, and stop comparing with the next elements.
g) Finally, display total repeated elements.
Java Program to count repeated elements in an array
public class ArrayTest {
public static void main(String[] args) {
// original array
int arr[] = { 50, 20, 10, 40, 20, 10, 10, 60, 30, 70};
// create another array of similar size
int temp[] = new int[arr.length];
int count = 0;
// traverse original array
for(int i=0; i<arr.length; i++) {
int element = arr[i];
boolean flag = false;
// check current element is already
// checked or not
for(int j=0; j<count; j++) {
if(temp[j] == element) {
flag = true;
break;
}
}
// if already exist then don't check
if(flag) {
continue;
}
// check occurrence of element
for(int j=i+1; j<arr.length; j++) {
if(arr[j] == element) {
temp[count++] = element;
// found, therefore break
break;
}
}
}
// display total repeated elements
System.out.println("Total Repeated elements: " + count);
// display repeated elements
System.out.println("Repeated elements are: ");
for (int i = 0; i < count; i++) {
System.out.print(temp[i]+" ");
}
}
}
Output:-
Total Repeated elements: 2
Repeated elements are:
20 10
Program only for the Sorted array
The below program is applicable only for the sorted array in ascending order, not for the unsorted array or sorted in descending order. To apply on unsorted array first sort the given array in ascending order using Arrays.sort() method.
Java program to count repeated elements in sorted array in Java
public class ArrayTest {
public static void main(String[] args) {
// original array
int arr[] = { 10, 10, 10, 20, 20, 30, 40, 50, 60, 70 };
// create another array of similar size
int temp[] = new int[arr.length];
int count = 0;
// traverse original array
for (int i = 1; i < arr.length; i++) {
// current element
int element = arr[i];
// if already exist then don't check
if(element == temp[count]) {
continue;
}
// check occurrence of element
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] == element) {
temp[count++] = element;
// found, therefore break
break;
}
}
}
// display total repeated elements
System.out.println("Total Repeated elements: " + count);
// display repeated elements
System.out.println("Repeated elements are: ");
for (int i = 0; i < count; i++) {
System.out.print(temp[i] + " ");
}
}
}
Output:-
Total Repeated elements: 2
Repeated elements are:
10 20
Count Repeated Elements in an Array Using Stream
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] numbers = { 50, 20, 10, 40, 20, 10, 10, 60, 30, 70 };
long duplicateCount = Arrays.stream(numbers).distinct().count();
System.out.println(duplicateCount); // 7
int[] duplicateNumbers = Arrays.stream(numbers).distinct().toArray();
System.out.println(Arrays.toString(duplicateNumbers));
}
}
If you enjoyed this post, share it with your friends. Do you want to share more information about the topic discussed above or do you find anything incorrect? Let us know in the comments. Thank you!