package com.zhongan.point.tools;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
import net.sf.json.JSONObject;
/**
* 对map进行key/value排序
* @author daichangbo
* 2018年4月16日 上午10:22:59
*/
public class HashMapUtil {
/**
* 对map进行key排序
* @param map
* @return
*/
public static final String keySort(Map<Object,Object> map){
List<Map.Entry<Object,Object>> infoIds = new ArrayList<Map.Entry<Object,Object>>(map.entrySet());
// 对HashMap中的key 进行排序
Collections.sort(infoIds, new Comparator<Map.Entry<Object,Object>>() {
public int compare(Map.Entry<Object,Object> o1,
Map.Entry<Object,Object> o2) {
return (o1.getKey()).toString().compareTo(o2.getKey().toString());
}
});
// 对HashMap中的key 进行排序后 显示排序结果
for (int i = 0; i < infoIds.size(); i++) {
String id = infoIds.get(i).toString();
System.out.print(id + " ");
}
return null;
}
/**
* 对value值进行排序
* @param map
* @return
*/
public static final String valueSort(Map<Object,Object> map){
List<Map.Entry<Object,Object>> infoIds = new ArrayList<Map.Entry<Object,Object>>(map.entrySet());
// 对HashMap中的 value 进行排序
Collections.sort(infoIds, new Comparator<Map.Entry<Object,Object>>() {
public int compare(Map.Entry<Object,Object> o1,
Map.Entry<Object,Object> o2) {
return (o1.getValue()).toString().compareTo(o2.getValue().toString());
}
});
// 对HashMap中的 value 进行排序后 显示排序结果
for (int i = 0; i < infoIds.size(); i++) {
String id = infoIds.get(i).toString();
System.out.print(id + " ");
}
return null;
}
/**
* 对单层json进行key字母排序
* @param json
* @return
*/
public static JSONObject getSortJson(JSONObject json){
Iterator<String> iteratorKeys = json.keys();
SortedMap map = new TreeMap();
while (iteratorKeys.hasNext()) {
String key = iteratorKeys.next().toString();
String vlaue = json.optString(key);
map.put(key, vlaue);
}
JSONObject jsonObject = JSONObject.fromObject(map);
return jsonObject;
}
/**
* 获取到秒的时间戳
* @param date
* @return
*/
public static int getSecondTimestamp(Date date){
if (null == date) {
return 0;
}
String timestamp = String.valueOf(date.getTime());
int length = timestamp.length();
if (length > 3) {
return Integer.valueOf(timestamp.substring(0,length-3));
} else {
return 0;
}
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
import net.sf.json.JSONObject;
/**
* 对map进行key/value排序
* @author daichangbo
* 2018年4月16日 上午10:22:59
*/
public class HashMapUtil {
/**
* 对map进行key排序
* @param map
* @return
*/
public static final String keySort(Map<Object,Object> map){
List<Map.Entry<Object,Object>> infoIds = new ArrayList<Map.Entry<Object,Object>>(map.entrySet());
// 对HashMap中的key 进行排序
Collections.sort(infoIds, new Comparator<Map.Entry<Object,Object>>() {
public int compare(Map.Entry<Object,Object> o1,
Map.Entry<Object,Object> o2) {
return (o1.getKey()).toString().compareTo(o2.getKey().toString());
}
});
// 对HashMap中的key 进行排序后 显示排序结果
for (int i = 0; i < infoIds.size(); i++) {
String id = infoIds.get(i).toString();
System.out.print(id + " ");
}
return null;
}
/**
* 对value值进行排序
* @param map
* @return
*/
public static final String valueSort(Map<Object,Object> map){
List<Map.Entry<Object,Object>> infoIds = new ArrayList<Map.Entry<Object,Object>>(map.entrySet());
// 对HashMap中的 value 进行排序
Collections.sort(infoIds, new Comparator<Map.Entry<Object,Object>>() {
public int compare(Map.Entry<Object,Object> o1,
Map.Entry<Object,Object> o2) {
return (o1.getValue()).toString().compareTo(o2.getValue().toString());
}
});
// 对HashMap中的 value 进行排序后 显示排序结果
for (int i = 0; i < infoIds.size(); i++) {
String id = infoIds.get(i).toString();
System.out.print(id + " ");
}
return null;
}
/**
* 对单层json进行key字母排序
* @param json
* @return
*/
public static JSONObject getSortJson(JSONObject json){
Iterator<String> iteratorKeys = json.keys();
SortedMap map = new TreeMap();
while (iteratorKeys.hasNext()) {
String key = iteratorKeys.next().toString();
String vlaue = json.optString(key);
map.put(key, vlaue);
}
JSONObject jsonObject = JSONObject.fromObject(map);
return jsonObject;
}
/**
* 获取到秒的时间戳
* @param date
* @return
*/
public static int getSecondTimestamp(Date date){
if (null == date) {
return 0;
}
String timestamp = String.valueOf(date.getTime());
int length = timestamp.length();
if (length > 3) {
return Integer.valueOf(timestamp.substring(0,length-3));
} else {
return 0;
}
}
}