JAVA求数组的平均数,众数,中位数

目录

??1、名称解释??

??2、实例代码??

??(1)求平均数??

??(2)求中位数??

??(3)求众数??


1、名称解释

平均数:是指一组数据之和,除以这组数的个数,所得的结果就是平均数。

中位数:中位数是指把一组数据从小到大排列,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以2,所得的结果就是中位数。

众数:众数是指一组数据中出现次数最多的那个数,众数可以是0个或多个。

2、实例代码(1)求平均数public static double mean(int[] arr) { int sum = 0; for (int i = 0; i < arr.length; i++) { sum += arr[i]; } return (double) sum / arr.length; }(2)求中位数public static double median(int[] arr) { // 先排序 Arrays.sort(arr); // 如果是偶数,则为中间两个数的和除以2 if (arr.length % 2 == 0) { return (double) ((arr[arr.length / 2 – 1] + arr[arr.length / 2])) / 2; } // 否则就是中间这个数 return arr[arr.length / 2]; }(3)求众数public static List<Integer> mode(int[] arr) { Map<Integer, Integer> map = new HashMap<>(); Set<Map.Entry<Integer, Integer>> set = map.entrySet(); List<Integer> list = new ArrayList<>(); // 结果 List<Integer> res = new ArrayList<>(); // 统计元素出现的次数,存入Map集合 for (int item : arr) { map.put(item, map.getOrDefault(item, 0) + 1); } // 将出现的次数存入List集合 map.forEach((k, v) -> { list.add(v); }); //集合排序 Collections.sort(list); // 得到最大值 int max = list.get(list.size() – 1); // 根据最大值获取众数 for (Map.Entry<Integer, Integer> entry : set) { if (entry.getValue() == max) { res.add(entry.getKey()); } } return res; } 有时间,我们可以去爬山,

JAVA求数组的平均数,众数,中位数

相关文章:

你感兴趣的文章:

标签云: