是的!不仅list是有序集合,set也可以变为有序集合。
废话少说,先上代码!
/**
* 给字符串时间的set排序
* @return 有序的set集合
*/
public static Set getSort(){
Set<String> st = new TreeSet<String>(new Comparator()
{
public int compare(Object o1, Object o2) {
String time1 = o1.toString();
String time2 = o2.toString();
if (DataFormat.stringToMillss(time1) > DataFormat.stringToMillss(time2))
{
return 1;
}
else if (DataFormat.stringToMillss(time1) == DataFormat.stringToMillss(time2))
{
return 0;
}
else
{
return -1;
}
}
});
return st;
}
然后把你需要排序的set放入到以上方法返回的set中:
//获取一个有序的set集合
Set<String> st = getSort();
//将分组后返回的每条时间记录放入到有序的set集合中
st.addAll(partdoMap.keySet());
partdoMap.keySet()就是一个无序的set集合。
partdoMap.keySet()我是放的时间字符串,然后进行排序。大家其实看到了,compare()中两个参数都是object的类型,所以其他类型数据也可以排序,请大家可以举一反三。
DataFormat.stringToMillss( )
此方法是本人写的一个将时间字符串转为毫秒数的方法,与本DEMO无关。
欢迎大家留言!