[Java] 纯文本查看 复制代码
package cn.gdin.test;
public class CaptureBean implements Comparable<CaptureBean>{
private String url;
private long dt;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public long getDt() {
return dt;
}
public void setDt(long dt) {
this.dt = dt;
}
@Override
public int compareTo(CaptureBean another) {
return (int) (this.dt-another.dt); //对于你要比较的属性值进行对比,请注意返回负值与正值的含义。
}
}
[Java] 纯文本查看 复制代码
package cn.gdin.test;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class Test {
private static Map<Integer, CaptureBean> mCaptureUrlsO2O = new HashMap<Integer, CaptureBean>();//实例一个对象
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建三个要排序的对象
CaptureBean o1 = new CaptureBean();
o1.setDt(100004);
o1.setUrl("o1");
CaptureBean o2 = new CaptureBean();
o2.setDt(100002);
o2.setUrl("o2");
CaptureBean o3 = new CaptureBean();
o3.setDt(100003);
o3.setUrl("o3");
mCaptureUrlsO2O.put(1, o1);
mCaptureUrlsO2O.put(2, o2);
mCaptureUrlsO2O.put(3, o3);
Collection<CaptureBean> values=mCaptureUrlsO2O.values();
List<CaptureBean> list=new ArrayList<CaptureBean>(values);
Collections.sort(list);//对列表进行排序
Iterator iterator = mCaptureUrlsO2O.keySet().iterator();
System.out.println("change before");
while (iterator.hasNext()) {//输出原来的排序
System.out.println( mCaptureUrlsO2O.get(iterator.next()).getUrl());
}
Iterator iteratorAfter = mCaptureUrlsO2O.keySet().iterator();
int j=0;
System.out.println("change after");
while (iteratorAfter.hasNext()) {
int k =(Integer) iteratorAfter.next();
mCaptureUrlsO2O.put(k,list.get(j) );//替换原来的排序
System.out.println( mCaptureUrlsO2O.get(k).getUrl());
j++;
}
}
}