在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