java treemap排序_java – 使用TreeMap排序问题
我正在尝试在HashMap中放置一些键值,然后尝试使用TreeMap进行排序,如下所示.问题是如果地图中有类似的值,那么在排序后它会考虑其中任何一个.
import java.util.*;
public class HashmapExample {
public static void main(String[] args) {
HashMap map = new HashMap();
ValueComparator bvc = new ValueComparator(map);
TreeMap sorted_map = new TreeMap(bvc);
map.put("A",99);
map.put("B",67);
map.put("C",123);
map.put("G",67);
map.put("F",67);
map.put("H",67);
map.put("D",6);
System.out.println("unsorted map");
for (String key : map.keySet()) {
System.out.println("key/value: " + key + "/"+map.get(key));
}
sorted_map.putAll(map);
System.out.println("results after sorting");
for (String key : sorted_map.keySet()) {
System.out.println("key/value: " + key + "/"+sorted_map.get(key));
}
}
}
class ValueComparator implements Comparator {
Map base;
public ValueComparator(Map base) {
this.base = base;
}
public int compare(Object a,Object b) {
if((Integer)base.get(a) > (Integer)base.get(b)) {
return 1;
} else if((Integer)base.get(a) == (Integer)base.get(b)) {
return 0;
} else {
return -1;
}
}
}
在此之后输出如下
unsorted map
key/value: D/6
key/value: A/99
key/value: F/67
key/value: H/67
key/value: C/123
key/value: B/67
key/value: G/67
results after sorting
key/value: D/6
key/value: F/67
key/value: A/99
key/value: C/123
对于B,G,F和H键,我给出值为67.在排序映射之后,它仅显示F值并且消除B,G和H值.我想显示下面的输出
key/value: D/6
key/value: B/67
key/value: G/67
key/value: F/67
key/value: H/67
key/value: A/99
key/value: C/123
java treemap排序_java – 使用TreeMap排序问题相关推荐
- java8 treemap 排序_Java中TreeMap按照KEY排序实现讲解
TreeMap 是一个有序的key-value集合,它是通过红黑树实现的,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法.继承于A ...
- java日期排序_java实现日期排序问题
展开全部 java按文件日期排序方法,下面以对62616964757a686964616fe59b9ee7ad9431333337623431C盘Java目录下文件进行按日期排序为例://引用java ...
- java comparable排序_java 实现Comparable接口排序,升序、降序、倒叙
本人由于项目开发中需要对查询结果list进行排序,这里根据的是每一个对象中的创建时间降序排序.本人讲解不深,只实现目的,如需理解原理还需查阅更深的资料. 1.实现的效果 2.创建排序的对象 packa ...
- java 性能 排序_Java常用排序算法及性能测试集合
package algorithm.sort; import java.lang.reflect.Method; import java.util.Arrays; import java.util.D ...
- java list 排序_java list排序
java list 排序主要用到: Collections.sort方法: package com.tom.compare; import java.util.ArrayList; import ja ...
- java set排序_Java Set排序的方法
Java Set排序的方法 Set中TreeSet 本身就是有序的元素,那么下面重点介绍下HashSet的2种排序方法. 1. 把HashSet保存在ArrayList里,再用Collections. ...
- java linkedlist排序_Java LinkedList排序
首页 > 基础教程 > 集合框架 > LinkedList类 Java LinkedList排序 LinkedList通过Collections.sort进行排序,代码如下: 降序 ...
- java steam 排序_Java使用Steams VS TreeMap对地图进行排序
正如其他人指出的那样,将已排序的条目流转储到常规HashMap中将无济于事--LinkedHashMap是合乎逻辑的选择. 但是,上述方法的替代方法是充分利用Stream Collectors API ...
- java comparable排序_Java使用Comparable解决排序问题
本文实例讲述了Java使用Comparable解决排序问题的方法.分享给大家供大家参考.具体实现方法如下: 一次举重竞赛的比赛规则是:选手的成绩以成功举起的总重量来排序,举起总重量多的排在前面:当举起 ...
- java keyset 排序_JAVA中KEYSET()返回值的排序问题
上回说到,由于对数据进行处理的时候是按照乱序一行一行的处理,导致并行线程各自占据了一部分数据,谁也不肯释放,从而发生死锁. 为什么会乱序,是因为取得数据行主键的时候,使用了HashMap.keySet ...
最新文章
- 常用的CSS(收集)
- DAY2-python基础1
- SQL 从一个表读取数据存到另一个表
- 微软虚拟化平台现在可以管理VMware!
- 2.4.4 死锁的处理策略-检测和解除
- ArcGIS for Android 中MapView截图实现方法
- 【Matlab】一种超简单的二维矩阵降维方法
- 数据库升级后,准备使用原有数据文件启动数据库
- JavaScript时间日期函数
- robocopy帮助
- Java通过Class的对象来获取泛型的class示例
- 10分钟 在linux里创建.net core helloworld控制台程序
- 2020年Airbnb爱彼迎中国房东社区报告
- java 1.7 环境变量_安装JDK1.8之后又安装1.7出现的环境变量问题
- 耳机热插拔检测(五)
- 签入代码(新建分支,新建推拉请求)关联工作项,却找不到自己需要的工作项...
- 苏州大学计算机考研资料汇总
- 提高睡眠质量的东西,每天晚上睡不着的你一定要试试
- 停用Windows Defender Antivirus Service内存
- cocoscreator热更新