在Java中查找数组中的重复元素及其频率
在Java中,数组是一种非基本数据类型,它存储相同数据类型的值。
根据题目要求,我们必须检测数组中重复的元素并打印其频率。
数组也可以包含重复的值。因此,元素在数组中出现的次数称为该元素在数组中的频率。
让我们看看如何使用Java编程语言来实现。
展示一些示例
示例1
Suppose the original array is {2, 3, 5, 4, 3, 1, 3, 2, 1, 2, 2}
执行查找重复元素频率的数组操作后,我们将打印“重复的数组元素”以及它重复的“次数” -
1 --> 2 2 --> 4 3 --> 3
示例2
Suppose the original array is {2, 3, 5, 4, 3, 1, 3, 2, 1};
执行查找重复元素频率的数组操作后,我们将打印“重复的数组元素”以及它重复的“次数” -
1 --> 2 2 --> 2 3 --> 3
示例3
Suppose the original array is {5, 7, 5, 2, 3, 5, 4, 7}
执行查找重复元素频率的数组操作后,我们将打印“重复的数组元素”以及它重复的“次数” -
5 --> 3 7 --> 2
算法
步骤1 - 声明并初始化一个整数数组。
步骤2 - 对数组元素进行排序。
步骤3 - 初始化变量。
步骤4 - 应用for循环并将频率设置为1。
步骤5 - 应用另一个for循环并将数组元素与前一个for循环进行匹配。
步骤6 - 打印数组元素及其频率。
语法
要获取数组的长度(数组中的元素个数),数组有一个内置属性,即length。
以下是其语法:
array.length
其中“array”指的是数组引用。
要在Java中对数组进行排序,我们在java.util.Arrays类中使用内置的sort()方法。
以下是其语法:
Arrays.sort();
多种方法
我们提供了不同的方法来解决这个问题。
使用数组元素的静态初始化。
使用用户定义的方法。
让我们逐一查看程序及其输出。
方法1:使用数组元素的静态初始化
示例
在这种方法中,数组元素将在程序中初始化。然后,根据算法查找重复的数组元素及其频率。
import java.util.*; public class Main{ //main method public static void main(String[] args) { //Declare and initialize the array elements int[] array = { 2, 3, 5, 4, 3, 1, 3, 2, 1, }; //sorting an array Arrays.sort(array); //declaring the variables int i,j,frequency; System.out.println("These elements are repeated along with its frequency-"); //loop for logic implementation for(i=0; i<array.length; i++){ frequency = 1; for(j=i+1; j<array.length; j++){ if(array[j] == array[i]){ frequency++; } else { break; } } i=j-1; if(frequency > 1){ //printing the output System.out.println(array[i] + " --> " + frequency); } } } }
输出
These elements are repeated along with its frequency- 1 --> 2 2 --> 2 3 --> 3
方法2:使用用户定义的方法
示例
在这种方法中,数组元素将在程序中初始化。然后,通过将数组作为参数调用用户定义的方法,并在方法内部根据算法查找重复的数组元素及其频率。
import java.util.*; public class Main{ //main method public static void main(String[] args) { //Declare and initialize the array elements int[] array = { 2, 3, 5, 4, 3, 1, 3, 2, 1, 9, 2, 9, 9, 9, 2 }; //sorting an array Arrays.sort(array); System.out.println("These elements are repeated along with its frequency-"); //call a user defined method duplicate(array); } //user defined method static void duplicate(int[] array){ //declared the variables int i,j,frequency; //loop for logic implementation for(i=0; i<array.length; i++){ frequency = 1; for(j=i+1; j<array.length; j++){ if(array[j] == array[i]){ frequency++; } else { break; } } i=j-1; if(frequency > 1){ //printing the output System.out.println(array[i] + " --> " + frequency); } } } }
输出
These elements are repeated along with its frequency- 1 --> 2 2 --> 4 3 --> 3 9 --> 4
在本文中,我们探讨了如何在Java中查找数组中重复元素及其频率。
广告