Java 排名方法 发表于 2021-10-25 | 分类于 ---Java , ---代码备份 | 12345678910111213141516171819202122// 获取排行榜public static Map<Double, Integer> getRankContainer(List<BigDecimal> list) { Map<Double, Integer> rankContainer = new HashMap<>(); list.sort(Comparator.reverseOrder()); int rank = 0, repeatCount = 0; BigDecimal prev = BigDecimal.valueOf(Long.MIN_VALUE); for (BigDecimal currVal : list) { if (currVal.compareTo(prev) == 0) {// 与上个值相等,重复次数+1 repeatCount++; } else {// 与上个值不等,重复次数归0 prev = currVal; rank = rank + repeatCount + 1; repeatCount = 0; } rankContainer.put(currVal.doubleValue(), rank); } return rankContainer;}