您的位置:首页 > 编程语言 > Java开发

Java实现中文字符串的排序功能

2016-05-11 00:00 399 查看
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(Str
7fe0
ing 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  @Override 51     public String toString() { 52         // TODO Auto-generated method stub
53         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.0 10  * @since 2016-04-21 11  */
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  @Override 39     public int compare(Book book1, Book book2) { 40         // TODO Auto-generated method stub
41
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 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: