最近做的项目有这样一个需求:要求对map中的值进行排序并生成序号。如果值相等则序号不变;如果不相等序号为该数数值在所有元素中的索引。如下表所示:

Key(String)

Value(Float)

Idx

23

12.4

1

10

3.2

2

11

2.2

3

9

2.2

3

1

1.9

5

6

0.5

6

public static Integer getSort(Map hashMap, String string) {

// 转换

ArrayList> arrayList = new ArrayList>(

hashMap.entrySet());

// 排序

Collections.sort(arrayList, new Comparator>() {

public int compare(Map.Entry map1,

Map.Entry map2) {

return ((map2.getValue() - map1.getValue() == 0) ? 0 : (map2

.getValue()

- map1.getValue() > 0) ? 1 : -1);

}

});

Map idxex = new HashMap();

// 输出

int size = 1;

for (int i = 0; i < arrayList.size(); i++) {

Entry entry = arrayList.get(i);

if (i > 0) {

float curr = arrayList.get(i).getValue();

float last = arrayList.get(i - 1).getValue();

if (curr != last) {

size = i;

idxex.put(entry.getKey(), (i + 1));

size++;

} else {

idxex.put(entry.getKey(), size);

}

} else {

idxex.put(entry.getKey(), size);

}

}

for (Map.Entry entry : idxex.entrySet()) {

String key = entry.getKey();

if (string.equals(key)) {

return entry.getValue();

}

}

return 0;

}

java排序输出序号_Java对map进行排序并生成序号相关推荐

  1. java map 自动排序_Java中Map的排序

    Map的种类 在Java中,Map的主要作用是存储键值对.由于是根据键得到值,所以不允许键重复.它主要有如下几个类别: HashMap: 最常用的Map,它根据键的HashCode值存储数据,根据键可 ...

  2. 有关java的参考软件_Java的相关的排序实现(参考软件设计师教程)

    package com.liuxt.sort; import java.io.BufferedReader; import java.io.IOException; import java.io.In ...

  3. java排序算法代码_Java实现八种排序算法(代码详细解释)

    package八大排序算法;importjava.util.Arrays;importorg.junit.Test;/*** 1.插入排序 直接插入排序.希尔排序 折半插入排序 * 2.交换排序 冒泡 ...

  4. java 格式化输出 对齐_Java中中英文对齐输出问题,以及Java中的格式化输出

    一 中英文对齐输出问题 问题,要求控制台输出如下: abcefg  def 森林 阿狗 其实就是要求对齐输出,各种查找java的格式化输出,然后发现只要一个简单的"\t"就可以实现 ...

  5. java怎么输出字符串_java输出字符串,怎么样输出字符串?

    下面要给大家讲的就是java输出字符串的问题,那么java怎样输出字符串呢?具体要怎样操作?一起来了解一下. 一般在java编程的过程当中,经常会使用System.out.println();来输出字 ...

  6. java运行 mavenzip包_JAVA开发必知工具-Maven-Maven生成可以直接运行的jar包的多种方式...

    大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口. 具体的方法是修改jar包内目录META-INF下的MANIF ...

  7. java排序的例子_Java的8大排序的基本思想及实例解读

    本文主要详解了Java语言的8大排序的基本思想以及实例解读,详细请看下文: 8种排序之间的关系: 1, 直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经 ...

  8. java 多条件比较_Java 多条件复杂排序小结

    这里面最复杂的就是第3点,对秒杀活动进行排序,排序条件多,排序条件使用各不相同,在笔试中给我带来了很大的困扰,最后当然也是没做完啦···· 解决方案 吃完晚饭开始寻找解决方法,觉得应该会很有意思,果然 ...

  9. java程序输出矩阵_java编程题之顺时针打印矩阵

    本文实例为大家分享了java顺时针打印矩阵的具体代码,供大家参考,具体内容如下 import java.util.ArrayList; /** * * 剑指offer编程题(JAVA实现)--第19题 ...

最新文章

  1. Java的类,对象以及字段和方法
  2. docker 修改镜像地址
  3. LeetCode:345. Reverse Vowels of a String
  4. 重温ES6核心概念和基本用法
  5. [HttpPost]和[AcceptVerbs(HttpVerbs.Post)]区别
  6. 完美支持蓝光高清 小米盒子复活版体验
  7. 高斯-赛得尔迭代式 c++_高斯混合模型(Gaussian Mixture Model)与EM算法原理(一)
  8. 基于uml的系统分析的网上商城_UML建模工具Enterprise Architect最新版有哪些新功能呢?立即查看...
  9. HTTP over QUIC重命名为“HTTP / 3”协议
  10. C#软件开发实例.私人订制自己的屏幕截图工具(十)在截图中包括鼠标指针形状...
  11. requests-发送post请求
  12. mysql where子句 参数_MySql——使用where子句过滤数据
  13. linux 开机密码忘了,linux系统开机忘记密码
  14. 『码上行动-编程擂台』学员作品展(附源码)
  15. wps转ppt怎么转换?通过这些方法学会wps如何转换成ppt
  16. 「为了孩子上海淀小学,我一周上七节课」
  17. Python学习之道-串口编程TEMI880温箱控制
  18. 日记侠:知识付费创富没赶上,看别人赚钱你急不急?
  19. html编码后台转换,HTML编码转换、HTML部分实体
  20. Echarts各个图表data的格式问题

热门文章

  1. iPhone通讯录导入及备份方法
  2. 交叉编译ortp、osip2、eXosip2、mediastreamer2及其附带的库实现SIP软电话
  3. 浅谈 Web 3.0
  4. CPU、处理器、内存、外存、寄存器、缓存的区别
  5. 用vs打开已有web项目运行时显示网页无法访问
  6. opencv无法打开摄像头
  7. 如何创建 “抢占实例” 云服务器BCC?抢占式实例云服务器创建步骤
  8. 关于一阶线性电路的零输入响应
  9. 告别UAC恼人的弹窗
  10. java微信多客服_怎么实现微信多公众号管理?有哪些多客服系统?