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

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

2016-04-21 12:03 686 查看
package test;

/**
*
* @Title          书的信息类
* @author         LR
* @version     1.0
* @since         2016-04-21
*/

public class Book {

private String book_id;

private String book_name;

private String publishing_house;

public Book(String book_id, String book_name, String publishing_house) {
super();
this.book_id = book_id;
this.book_name = book_name;
this.publishing_house = publishing_house;
}

public String getBook_id() {
return book_id;
}

public void setBook_id(String book_id) {
this.book_id = book_id;
}

public String getBook_name() {
return book_name;
}

public void setBook_name(String book_name) {
this.book_name = book_name;
}

public String getPublishing_house() {
return publishing_house;
}

public void setPublishing_house(String publishing_house) {
this.publishing_house = publishing_house;
}

@Override
public String toString() {
// TODO Auto-generated method stub
return "书号"+book_id+"\n书名"+book_name+"\n出版社"+publishing_house;
}
}


package test;

import java.text.Collator;

/**
*
* @Title          中文字符串排序功能
* @author         LR
* @version     1.0
* @since         2016-04-21
*/

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class CollectionChineseSort implements Comparator<Book>{

Collator collator= Collator.getInstance(java.util.Locale.CHINA);

public static void main(String[] args) {

ArrayList<Book> list=new ArrayList<Book>();

list.add(new Book("1","英语","英语出版社"));
list.add(new Book("2","日语","日语出版社"));
list.add(new Book("3","德语","德语出版社"));
list.add(new Book("4","法语","法语出版社"));
list.add(new Book("5","俄语","俄语出版社"));

Collections.sort(list,new CollectionChineseSort());

for (Book book:list){
System.out.println(book);
}
}

@Override
public int compare(Book book1, Book book2) {
// TODO Auto-generated method stub

int compare_value=collator.compare(book1.getBook_name(),book2.getBook_name());

if(compare_value>0){
return 1;
}
if(compare_value<0){
return  -1;
}

return 0;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: