java list 中文排序

推荐安卓开发神器(里面有各种UI特效和android代码库实例)

import java.text.Collator;   
import java.util.ArrayList;   
import java.util.Collections;   
import java.util.Comparator;   
import java.util.Iterator;   
  
public class ChineseCharacterSortDemo {   
    public static void main(String args[]) {   
        ArrayList list = new ArrayList();   
        list.add(new Country(86, "中国"));   
        list.add(new Country(21, "加拿大"));   
        list.add(new Country(1, "美国"));   
        list.add(new Country(110, "阿富汗"));   
        Comparator cmp = new ChinsesCharComp();   
        Collections.sort(list, cmp);   
        Iterator iter = list.iterator();   
        while (iter.hasNext()) {   
            Country s1 = (Country) iter.next();   
            System.out.println(s1.getCode() + "----" + s1.getName());   
        }   
    }   
}   
  
class ChinsesCharComp implements Comparator {   
  
    public int compare(Object o1, Object o2) {   
        Country c1 = (Country) o1;   
        Country c2 = (Country) o2;   
        Collator myCollator = Collator.getInstance(java.util.Locale.CHINA);   
        if (myCollator.compare(c1.getName(), c2.getName()) < 0)   
            return -1;   
        else if (myCollator.compare(c1.getName(), c2.getName()) > 0)   
            return 1;   
        else  
            return 0;   
    }   
}   
  
class Country {   
  
    private long code;   
  
    private String name;   
  
    public long getCode() {   
        return code;   
    }   
  
    public void setCode(long code) {   
        this.code = code;   
    }   
  
    public String getName() {   
        return name;   
    }   
  
    public void setName(String name) {   
        this.name = name;   
    }   
  
    public Country() {   
  
    }   
  
    public Country(long code, String name) {   
        this.code = code;   
        this.name = name;   
    }   
  
}

 

你可能感兴趣的:(java)