字母封装的List排序



要实现对Jia,Liu,Li,Ji,Deng,Zhang,Zhao 等类似的从A到Z排序


public class Name implements Comparable<Name> {
    public String name;

    @Override
    public int compareTo(Name another) {
        // 从大到小排列
        String otherName = PinyinUtil.hanziToPinyin(another.name);

        return name.compareTo(another.name);
    }

}

把这个含有名称的定义为一个类,当时还可以含有其他属性,而以Name进行索引排序。把这个类继承 Comparable ,然后实现方法。

  List<Name> nameList = new ArrayList<>();
        Name name = new Name();
        name.name = "Jia";
        nameList.add(name);
        Name name1 = new Name();
        name1.name = "Char";
        nameList.add(name1);
        Name name5 = new Name();

        Name name6 = new Name();
        name6.name = "Sheng";
        nameList.add(name6);
        name5.name = "Haha";

        nameList.add(name5);
        Name name2 = new Name();
        name2.name = "Liu";
        nameList.add(name2);

        Name name3 = new Name();
        name3.name = "Min";
        nameList.add(name3);

        Collections.sort(nameList);

把数据放到List之后,用 Collections.sort() 对类即进行排序


你可能感兴趣的:(排序,comparable)