你的位置:首页 > Java教程

[Java教程]Java实现中文字符串的排序功能


 1 package test; 2  3 /** 4  *  5  * @Title     书的信息类 6  * @author     LR 7  * @version   1.0 8  * @since     2016-04-21 9 */10 11 public class Book {12 13   private String book_id;14   15   private String book_name;16   17   private String publishing_house;18   19   public Book(String book_id, String book_name, String publishing_house) {20     super();21     this.book_id = book_id;22     this.book_name = book_name;23     this.publishing_house = publishing_house;24   }25 26   public String getBook_id() {27     return book_id;28   }29 30   public void setBook_id(String book_id) {31     this.book_id = book_id;32   }33 34   public String getBook_name() {35     return book_name;36   }37 38   public void setBook_name(String book_name) {39     this.book_name = book_name;40   }41 42   public String getPublishing_house() {43     return publishing_house;44   }45 46   public void setPublishing_house(String publishing_house) {47     this.publishing_house = publishing_house;48   }49 50   @Override51   public String toString() {52     // TODO Auto-generated method stub53     return "书号"+book_id+"\n书名"+book_name+"\n出版社"+publishing_house;54   }55 }

 1 package test; 2  3 import java.text.Collator; 4  5 /** 6  *  7  * @Title     中文字符串排序功能 8  * @author     LR 9  * @version   1.010  * @since     2016-04-2111 */12 13 import java.util.ArrayList;14 import java.util.Collections;15 import java.util.Comparator;16 17 public class CollectionChineseSort implements Comparator<Book>{18   19   Collator collator= Collator.getInstance(java.util.Locale.CHINA);20   21   public static void main(String[] args) {22     23     ArrayList<Book> list=new ArrayList<Book>();24     25     list.add(new Book("1","英语","英语出版社"));26     list.add(new Book("2","日语","日语出版社"));27     list.add(new Book("3","德语","德语出版社"));28     list.add(new Book("4","法语","法语出版社"));29     list.add(new Book("5","俄语","俄语出版社"));30     31     Collections.sort(list,new CollectionChineseSort());32     33     for (Book book:list){ 34       System.out.println(book); 35     } 36   }37 38   @Override39   public int compare(Book book1, Book book2) {40     // TODO Auto-generated method stub41     42     int compare_value=collator.compare(book1.getBook_name(),book2.getBook_name());43     44     if(compare_value>0){45       return 1;46     }47     if(compare_value<0){48       return -1;49     }50     51     return 0;52   }53 }