Java中文生僻字排序

JDK中的java.text.Collator 排序处理生僻字会失败,现引入新的Jar包进行处理。
引入icu4j进行处理,改包主要是为软件应用提供Unicode和全球化支持的一套成熟、广泛使用的C/C++和Java类库集

<!-- 通过Maven引入 -->
<dependency>
     <groupId>com.ibm.icu</groupId>
     <artifactId>icu4j</artifactId>
     <version>67.1</version>
 </dependency>
package com;
import com.entity.Person;
import com.ibm.icu.util.ULocale;
import java.util.*;

public class SortPerson{
    
    

    public static void main(String[] args) {
    
    
    	//厷(gōng)厸 (lín)厹(róu)厺(qù)叀(zhuān)
        List<Person> list= new ArrayList<Person>();
        Person person5 = new Person();
        person5.setAge(9).setName("叀");
        list.add(person5);
        Person person3 = new Person();
        person3.setAge(5).setName("厷");
        list.add(person3);
        Person person4 = new Person();
        person4.setAge(7).setName("厸 ");
        list.add(person4);
        Person person = new Person();
        person.setAge(1).setName("厹");
        list.add(person);
        Person person2 = new Person();
        person2.setAge(3).setName("厺");
        list.add(person2);
        

        Collections.sort(list, new Comparator<Person>() {
    
    
            public int compare(Person o1, Person o2) {
    
    
                return com.ibm.icu.text.Collator.getInstance(ULocale.SIMPLIFIED_CHINESE).compare(o1.getName(), o2.getName());
            }
           
        });
		list.forEach(p->{
    
    
           System.out.print(p.getName()+"------>");
       });
    }      
}

输出结果 :
//厷(gōng)厸 (lín)厹(róu)厺(qù)叀(zhuān)
厷------>厸 ------>厺------>厹------>叀------>

猜你喜欢

转载自blog.csdn.net/Lilayzzz/article/details/108268501