用java写一个从List从找到出现最多的相近数字 并取中间值
时间: 2024-02-28 13:56:24 浏览: 24
以下是一个Java代码示例,用于从List中找到出现最多的相近数字,并取中间值:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Double> list = Arrays.asList(1.0, 2.1, 2.2, 3.3, 3.4, 3.5, 4.6, 5.7, 5.8, 5.9, 6.0, 7.1, 7.2, 7.3, 7.4, 8.5, 8.6, 9.7, 9.8, 9.9);
Collections.sort(list); // 对列表进行排序
Map<Double, Integer> map = new HashMap<>();
double maxNum = -1;
int maxCount = 0;
// 遍历列表,统计相近数字的出现次数
for (int i = 0; i < list.size() - 1; i++) {
double num = list.get(i);
double nextNum = list.get(i + 1);
if (nextNum - num <= 1.0) { // 判断相邻数字的差是否小于等于1
int count = map.getOrDefault(num, 0) + 1;
map.put(num, count);
if (count > maxCount) {
maxCount = count;
maxNum = num;
}
}
}
// 取出出现次数最多的相近数字的中间值
List<Double> mostFrequentNumbers = new ArrayList<>();
for (Map.Entry<Double, Integer> entry : map.entrySet()) {
if (entry.getValue() == maxCount) {
mostFrequentNumbers.add(entry.getKey());
}
}
double median = mostFrequentNumbers.get(mostFrequentNumbers.size() / 2);
System.out.println("出现次数最多的相近数字的中间值为:" + median);
}
}
```
在这个示例代码中,我们首先对列表进行排序,然后遍历列表,统计相近数字的出现次数。我们使用一个HashMap来保存数字出现的次数,maxNum和maxCount来保存出现次数最多的相近数字和出现次数。在统计出现次数后,我们遍历map,将出现次数等于maxCount的相近数字保存在mostFrequentNumbers列表中,并取其中的中间值作为结果。最后输出结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)