美文网首页
解决list按拼音排序的问题

解决list按拼音排序的问题

作者: 不知不怪 | 来源:发表于2019-10-15 18:46 被阅读0次

1 使用工具

        <dependency>
            <groupId>com.belerweb</groupId>
            <artifactId>pinyin4j</artifactId>
            <version>2.5.1</version>
        </dependency>

2 重写compareTo方法

package com.battcn.config;

import net.sourceforge.pinyin4j.PinyinHelper;

public class User implements Comparable<User> {
//    Collections.sort(list); // 按年龄排序
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public int compareTo(User o) {
        return concatPinyinStringArray(PinyinHelper.toHanyuPinyinStringArray(o.getName().charAt(0)))
                .compareTo(concatPinyinStringArray(PinyinHelper.toHanyuPinyinStringArray(this.getName().charAt(0))));
    }

    private String concatPinyinStringArray(String[] pinyinArray) {
        StringBuffer pinyinSbf = new StringBuffer();
        if ((pinyinArray != null) && (pinyinArray.length > 0)) {
            for (int i = 0; i < pinyinArray.length; i++) {
                pinyinSbf.append(pinyinArray[i]);
            }
        }
        return pinyinSbf.toString();
    }
}

3 调用

List<User>list=new ArrayList<>();
......
......
Collections.sort(list);

相关文章

  • 解决list按拼音排序的问题

    1 使用工具 2 重写compareTo方法 3 调用

  • sort(List list)

    sort(List list) 根据元素的自然顺序 对指定列表按升序进行排序。List可以是ArrayLis...

  • 按拼音的首字母排序

    拼音都可以使用localeCompare排序, 废话不多说,代码如下: //按拼音排序 let arr= ...

  • 仿通讯录右边的字母搜索

    1、添加依赖 把中文转成拼音才能按首字母进行排序 2、三个工具类 PinYinUtils SystemUtil T...

  • jdk8 流操作

    stream操作 list排序 list 按指定条数分割

  • Java Collections

    集合框架的工具类:Collections。 Collections.sort(List list)排序 Co...

  • Java 常用工具类--集合排序

    集合排序 使用Collections类的sort()方法 sort(List list) 根据元素的自然顺...

  • Android开发 - 汉字转拼音首字母

    概述 工作中经常会遇到的一些排序问题,比如 按汉字的拼音首字母排序,比如人名排序等,就要用到下面的方法了,思路: ...

  • FAQ

    1、根据中文拼音排序 select * from t order by convert_to(name,'GBK'...

  • Java集合排序

    集合排序 使用Collection类的sort()方法 sort(List list) 根据元素的自然顺序对...

网友评论

      本文标题:解决list按拼音排序的问题

      本文链接:https://www.haomeiwen.com/subject/mhxemctx.html