📅  最后修改于: 2023-12-03 15:40:03.251000             🧑  作者: Mango
在Java编程中,数组是一个十分常见的数据结构。本篇文章介绍的是关于数组元素频率范围查询的Java程序,即通过该程序可以查询指定数组中元素出现的频率范围。
该程序主要思路为:通过HashMap计算数组中每个元素出现的次数,再遍历HashMap,找出出现次数最多和出现次数最少的元素。
int[] arr = {1, 2, 3, 4, 1, 2, 3, 2, 1};
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 0; i < arr.length; i++) {
if (map.containsKey(arr[i])) {
map.put(arr[i], map.get(arr[i]) + 1);
} else {
map.put(arr[i], 1);
}
}
int maxNum = Integer.MIN_VALUE;
int minNum = Integer.MAX_VALUE;
List<Integer> maxList = new ArrayList<Integer>();
List<Integer> minList = new ArrayList<Integer>();
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
int key = entry.getKey();
int value = entry.getValue();
if (value > maxNum) {
maxNum = value;
maxList.clear();
maxList.add(key);
} else if (value == maxNum) {
maxList.add(key);
}
if (value < minNum) {
minNum = value;
minList.clear();
minList.add(key);
} else if (value == minNum) {
minList.add(key);
}
}
import java.util.*;
public class ArrayFrequency {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 1, 2, 3, 2, 1};
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 0; i < arr.length; i++) {
if (map.containsKey(arr[i])) {
map.put(arr[i], map.get(arr[i]) + 1);
} else {
map.put(arr[i], 1);
}
}
int maxNum = Integer.MIN_VALUE;
int minNum = Integer.MAX_VALUE;
List<Integer> maxList = new ArrayList<Integer>();
List<Integer> minList = new ArrayList<Integer>();
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
int key = entry.getKey();
int value = entry.getValue();
if (value > maxNum) {
maxNum = value;
maxList.clear();
maxList.add(key);
} else if (value == maxNum) {
maxList.add(key);
}
if (value < minNum) {
minNum = value;
minList.clear();
minList.add(key);
} else if (value == minNum) {
minList.add(key);
}
}
System.out.println("数组中出现次数最多的元素是:" + maxList + ",出现了" + maxNum + "次");
System.out.println("数组中出现次数最少的元素是:" + minList + ",出现了" + minNum + "次");
}
}
运行该程序的结果为:
数组中出现次数最多的元素是:[1, 2, 3],出现了3次
数组中出现次数最少的元素是:[4],出现了1次
本篇文章介绍了关于数组元素频率范围查询的Java程序的实现方法。通过该程序可以计算一个数组中每个元素出现的次数,并找出出现次数最多和出现次数最少的元素。在实际应用中,该程序可以用于统计和分析数据中元素的分布情况。