泛型方法,java map按照value值来比较大小并且返回最终结果
泛型方法 public static <T> void display(T t)
public class Test01 implements Comparator<Long>{
Map<Long,Double> base;
public Test01(Map<Long,Double> base){
this.base = base;
}
@Override
public int compare(Long a,Long b) {
if(base.get(a).doubleValue() >= base.get(b).doubleValue()){
return -1;
}else{
return 1;
}
}
//泛型方法 public static <T> void display(T t)
public static <K,V extends Comparable<V>> Map<K,V> sortByValues(final Map<K,V> map){
Comparator<K> valueComparator = new Comparator<K>(){
public int compare(K k1,K k2){
int compare = map.get(k2).compareTo(map.get(k1));
if(compare == 0)
return 1;
else
return compare;
}
};
Map<K,V> sortedByValues = new TreeMap<K,V>(valueComparator);
sortedByValues.putAll(map);
return sortedByValues;
}
public static void main(String args[]){
HashMap<Long,Double> map = new HashMap<Long,Double>();
map.put(1L, 99.5);
map.put(2L, 67.2);
map.put(3L, 67.5);
map.put(4L, 67.6);
Test01 bvc = new Test01(map);
TreeMap<Long,Double> sorted_map = new TreeMap<Long,Double>(bvc);
System.out.println("unsorted map:"+map);
sorted_map.putAll(map);
System.out.println("results:" + sorted_map);
Map<Long,Double> sorted_map2 = sortByValues(map);
System.out.println("results2:" + sorted_map2);
}
}
转载于:https://blog.51cto.com/xiatianyangwang/1425410
泛型方法,java map按照value值来比较大小并且返回最终结果相关推荐
- java map 多个值_java 一个函数EnumMap返回多个值
在开发过程中,经常会有这种情况,就是一个函数需要返回多个值,这是一个问题!! 网上这个问题的解决方法: 1.使用map返回值:这个方法问题是,你并不知道如何返回值的key是什么,只能通过doc或者通过 ...
- java map 遍历取值_Map 遍历取值及jstl的取值
学习了:http://blog.csdn.net/yanjiaye520/article/details/17354239 1.Java map的便利取值 Java代码 收藏代码 Map map = ...
- java map随机取值_HashMap随机取值和迭代器取值的对比
一共四中方法,前两种是迭代器取值,后两种是随机取值,循环了5000万次,时间分别为:迭代器读取的速度大约是随机读取的速度的1.5倍,数据量越大,差距越明显. 另外,插入是读取的100倍左右的时间(这个 ...
- java map 允许null值,Map取值方法,其中取得多种值,避免null值转换
~~~ import java.math.BigDecimal; import java.util.Date; import java.util.Map; /** * * Map取值方法,其中取得多种 ...
- Java Map按value值的大小进行排序
Map排序工具类如下: import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import ...
- java map 随机取值_随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value...
利用Java提供的Random类.从List或Set中随机取出一个元素,从Map中随机获取一个key或value. 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后.利用一 ...
- java用循环给map里面存值_Java中如何遍历Map对象的4种方法
方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. 1 Map map = new HashMap();2 3 for ...
- java map 值排序_使用Java8 Stream API对Map类型按照键或值进行排序
在这篇文章中,您将学习如何使用Java对Map按照键或值进行排序.前几日有位朋友面试遇到了这个问题,看似很简单的问题,但是如果不仔细研究一下也是很容易让人懵圈的面试题.所以我决定写这样一篇文章.在Ja ...
- java获取map遍历,Map获取键值,Map的几种遍历方法总结(推荐)
Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map---实现Map Map.Entry--Map的内部类,描述Map中的按键/数值对. S ...
- Java map按照值降序排列
1)Java map按照值降序排列 思路是转成 list,然后再写入能保证顺序的 LinkedHashMap,普通的 HashMap和 TreeMap等不能保证顺序. /*** 降序排列 map*/p ...
最新文章
- Guava 中的 Stopwatch 是个什么鬼?
- 啧啧,这种程序员……| 每日趣闻
- 安卓系统底层C语言算法之测试参数是几个long型的算法
- 商汤组了「最强大脑」局,正儿八经解释为啥搞起电竞AI
- PHP ERROR_PHP 处理错误函数
- python中knn_如何在python中从头开始构建knn
- 魔兽争霸3地图(WarIII Maps):三国猛兽传
- 前端笔记-利用thymeleaf隐藏显示input及label
- 48.检测对象是否为空
- C++之命名空间探究
- /etc/fstab 官方文档
- 二分查找(java代码实现)
- 使用虚拟机镜像文件导入部署openGauss
- 11个最佳Ionic应用程序模板
- c++如何实现以任意数为底的对数(底数合法)log()
- OK6410之uboot移植
- w7系统计算机更改用户名,win7系统用户名不能修改的解决方法
- 小猿圈解读Go语言的前景
- 【html5期末大作业】基于HTML仿QQ音乐官网网站
- openstack下创建windows虚机出现do_hivex_close