java Compare
来源:互联网 发布:陕西干部网络培训学院 编辑:程序博客网 时间:2024/06/14 01:16
package com.study.util;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
public class MyCompare {
private static class MyComparator implements Comparator<HashMap<?, ?>> {
private String mSortingKey;
public MyComparator(String sortingKey) {
mSortingKey = sortingKey;
}
public void setSortingKey(String sortingKey) {
mSortingKey = sortingKey;
}
public int compare(HashMap<?, ?> map1, HashMap<?, ?> map2) {
Object value1 = map1.get(mSortingKey);
Object value2 = map2.get(mSortingKey);
/*
* This should never happen, but just in-case, put non-comparable
* items at the end.
*/
if (!isComparable(value1)) {
return isComparable(value2) ? 1 : 0;
} else if (!isComparable(value2)) {
return -1;
}
return ((Comparable) value1).compareTo(value2);
}
private boolean isComparable(Object value) {
return (value != null) && (value instanceof Comparable);
}
}
public static void main(String[] args) {
List<HashMap<String,String>> list=new ArrayList<HashMap<String,String>>();
HashMap map1=new HashMap();
map1.put("pinyin", "zg");
HashMap map2=new HashMap();
map2.put("pinyin", "anquan");
HashMap map3=new HashMap();
map3.put("pinyin", "rb");
HashMap map4=new HashMap();
map4.put("pinyin", "meiguo");
list.add(map1);
list.add(map2);
list.add(map3);
list.add(map4);
Collections.sort(list, new MyComparator("pinyin"));
System.out.println(list);
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
public class MyCompare {
private static class MyComparator implements Comparator<HashMap<?, ?>> {
private String mSortingKey;
public MyComparator(String sortingKey) {
mSortingKey = sortingKey;
}
public void setSortingKey(String sortingKey) {
mSortingKey = sortingKey;
}
public int compare(HashMap<?, ?> map1, HashMap<?, ?> map2) {
Object value1 = map1.get(mSortingKey);
Object value2 = map2.get(mSortingKey);
/*
* This should never happen, but just in-case, put non-comparable
* items at the end.
*/
if (!isComparable(value1)) {
return isComparable(value2) ? 1 : 0;
} else if (!isComparable(value2)) {
return -1;
}
return ((Comparable) value1).compareTo(value2);
}
private boolean isComparable(Object value) {
return (value != null) && (value instanceof Comparable);
}
}
public static void main(String[] args) {
List<HashMap<String,String>> list=new ArrayList<HashMap<String,String>>();
HashMap map1=new HashMap();
map1.put("pinyin", "zg");
HashMap map2=new HashMap();
map2.put("pinyin", "anquan");
HashMap map3=new HashMap();
map3.put("pinyin", "rb");
HashMap map4=new HashMap();
map4.put("pinyin", "meiguo");
list.add(map1);
list.add(map2);
list.add(map3);
list.add(map4);
Collections.sort(list, new MyComparator("pinyin"));
System.out.println(list);
}
}
0 0
- java Compare
- Compare strings in java
- java compare 接口
- java compare 接口
- java compare 接口
- java compare 接口 (转载)
- java compare 接口
- Compare Version Numbers (Java)
- Java-Compare Version Numbers
- (java)Compare Version Numbers
- Java compareTo和compare
- java compare 接口
- Java学习笔记-Compare
- compare of java and c++
- Basic of JAVA & C++ Compare
- java 学习关于compare方法
- [Java]Leetcode165 Compare Version Numbers
- JavaScript closure: compare with Java
- x&(x-1)作用
- 【转】QPushButton的背景图片和文字同时显示
- Hibernate配置文件hibernate.cfg.xml中配置信息详解
- hicharts 每次显示一个图例的数据
- 自学第二天(2)
- java Compare
- [置顶] Android 界面滑动实现---Scroller类 从源码和开发文档中学习(让你的布局动起来)
- Android开发相关的Blog推荐——跟随大神的脚步才能成长为大神
- 数组随笔
- sql 语句
- Android studio导入github项目
- Xcode7 beta 网络请求报错
- 抽屉/侧拉门 效果(仿网易+改善)
- [转]curl - linux curl命令