您的位置 首页 java

java中的数据格式中的中文拼音A-Z排序

 //1.对数组中的中文按照拼音A-Z排序  
  private   static   void  sortArray() {
    Comparator<Object> sortComparator = Collator. getInstance (java.util.Locale.CHINA);
    String[] companyArray = {" 腾讯 ", " 阿里巴巴 ", " 百度 ", " 华为 ", " 字节跳动 ", "小米"};
     Arrays.sort (companyArray,  sort Comparator);
    Stream.of(companyArray).forEach(System.out::println);
}  
 public static void main(String[] args) {

    //1.对数组中的中文按照拼音A-Z排序
    sortArray();
}
阿里巴巴
百度
华为
腾讯
 小米 
字节跳动  
 //2.对集合中的对象数据 指定的字段 按照中文拼音A-Z排序  
 package com.wangguo.entity;

import java.util.Comparator;

//2.1.实现Comparator 接口
public  class User implements Comparator<User> {

    private String userName;
    private int age;

    public User(String userName, int age) {
        this.userName = userName;
        this.age = age;
    }

    public User() {
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @ Override 
    public String toString() {
        return "User{" +
                "userName='" + userName + '\'' +
                ", age=" + age +
                '}';
    }

    //2.2.重写比较方法
    @Override
    public int compare(User o1, User o2) {
        return o1.getUserName().compareTo(o2.getUserName());
    }
}
  
 public static void main(String[] args) {

    //2.对集合中的对象数据 指定的字段 按照中文拼音A-Z排序
    List<User> listUsers = new ArrayList<>();
    listUsers.add(new User("谢大宝", 11));//X
    listUsers.add(new User("李四", 14));//L
    listUsers.add(new User("王五", 17));//W
    listUsers.add(new User("赵六", 19));//Z

    //2.3定义排序规则 List<T> list, Comparator<? super T> c
    Collections.sort(listUsers,(user1,user2)->{
                Comparator<Object> com = Collator.getInstance(java.util.Locale.CHINA);
                return com.compare(user1.getUserName(), user2.getUserName());
            }
    );
    listUsers.stream().forEach(System.out::println);

}
User{userName='李四', age=14}
User{userName='王五', age=17}
User{userName='谢大宝', age=11}
User{userName='赵六', age=19}  

文章来源:智云一二三科技

文章标题:java中的数据格式中的中文拼音A-Z排序

文章地址:https://www.zhihuclub.com/186915.shtml

关于作者: 智云科技

热门文章

网站地图