java-> list 根据内部元素 重新排序

List<CiFormat> returns = new ArrayList<CiFormat>();

CiFormat cf_1 = new CiFormat(66,"可恶");
returns.add(cf_1);
CiFormat cf_2 = new CiFormat(99,"饿恶");
returns.add(cf_2);
CiFormat cf_3 = new CiFormat(123,"看恶");
returns.add(cf_3);
CiFormat cf_4 = new CiFormat(11,"看看人");
returns.add(cf_4);

Collections.sort(returns, new SortByFrq());
for (int i = 0;i< returns.size();i++) {
	Log.d(tag, returns.get(i).getFrq()+"__"+returns.get(i).getCi());
}

结果:

123__看恶

99__饿恶

66__可恶

11_看看人

其中用的的内和方法

ZiCiFormat.java

class CiFormat{// (frq,ci_content)
    private int frq;
    public int getFrq() {
        return frq;
    }
    public void setFrq(int frq) {
        this.frq = frq;
    }

    private String ci;
    public String getCi() {
        return ci;
    }
    public void setCi(String ci) {
        this.ci = ci;
    }

    public CiFormat(int frq,String ci){
        this.frq = frq;
        this.ci = ci;
    }
}

class SortByFrq implements Comparator {
    public int compare(Object o1, Object o2) {
        CiFormat s1 = (CiFormat) o1;
        CiFormat s2 = (CiFormat) o2;
        if (s1.getFrq() < s2.getFrq())
            return 1;
        else if (s1.getFrq() == s2.getFrq()) {
            return 0;
        }
        return -1;
    }
}
扫描二维码关注公众号,回复: 566603 查看本文章

猜你喜欢

转载自mft.iteye.com/blog/2331183