Key-Value Pair 排序 —— 兼容所有类型
来源:互联网 发布:淘宝卖家拉黑买家 编辑:程序博客网 时间:2024/06/09 22:45
科研中,发现经常要对<key,value>键值对进行排序,按key(或value)的正序或逆序排序。下面写一简单工具类。
1. 首先定义KeyValuePair类,K和V都采用泛型,可兼容任何类型,以便日后使用。
class KeyValuePair<K extends Comparable<K>, V extends Comparable<V>> implementsComparable<KeyValuePair<K, V>> {K key;V value;public KeyValuePair(K key, V value) {this.key = key;this.value = value;}// 此处可定义按照key或value的正序或逆序排序@Overridepublic int compareTo(KeyValuePair<K, V> o) {return -value.compareTo(o.getValue());}/** * @return the key */public K getKey() {return key;}/** * @return the value */public V getValue() {return value;}@Overridepublic String toString() {return "[" + key + "," + value + "]";}}
2. 用TreeSet的红黑树原理对KeyValuePair进行排序(此处可换其他排序方法)。下面以key为String类型,value为Integer类型,按照value的逆序进行排序。按照代码如下:
public class KeyValuePairSort {public static void main(String[] args) {SortedSet<KeyValuePair<String, Integer>> ts = new TreeSet<KeyValuePair<String, Integer>>();ts.add(new KeyValuePair<String, Integer>("a", 3));ts.add(new KeyValuePair<String, Integer>("c", 6));ts.add(new KeyValuePair<String, Integer>("b", 2));System.out.println(ts);}}
3. 运行输出如下:
[[c,6], [a,3], [b,2]]
0 0
- Key-Value Pair 排序 —— 兼容所有类型
- key-value pair列表parser
- jquery autocomplete key value pair
- Perl Regex: Extract Key Value Pair
- Java Map排序——按key和按value
- pair—模板类型 使用方法
- 字典排序问题——在value的基础上对key排序
- STL—利用pair和vector对有序对类型排序
- HashMap按key/value排序
- 字段排序 拼接key value
- (key,value)对value进行排序
- Map<Key,Value>基于Value值排序
- Java基础 —— 根据 Key 或是 Value 对 Map 进行排序
- redis查看所有key-value对
- 程序遍历memcache中的所有key-value
- 遍历hashMap中的所有key和value
- hashMap分别获取所有key和value
- zabbix agent 类型所有key
- 第二周作业(2014.3.13)
- Delphi写的数据同步程序提示“内存不足”
- ZOJ-1133
- 稀疏表示介绍(上)
- Android应用程序基础
- Key-Value Pair 排序 —— 兼容所有类型
- Delphi ''测试...'' is not a valid component name.
- 博客正式开通
- What is autoboxing and unboxing in Java
- linux 下 eclipse hadoop 配置及 wordcount验证
- MATLAB 图像拉普拉斯变换
- Win7下Tomcat安装
- 通过汇编程序看函数调用过程中的原理
- Vector的用法