在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中查找数组中重复元素及其频率。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP