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;
}
}

Java实现中文字符串的排序功能的更多相关文章

  1. 利用Java程序将字符串进行排序与拼接

    1.初始生成字符串的代码程序: package com.map.test; import java.util.ArrayList; import java.util.Collections; impo ...

  2. JAVA 写中文字符串到指定文件 中文乱码 问题解决

    之前试过下面代码里面的注释掉的 方法,都不行,后来想到了不如指定编码格式试试,果真可以了. String as= “中文字符”; //byte[] b = as.getBytes(); try{ Fi ...

  3. java中字符串的排序(1)

    按照前段时间在快速.冒泡等排序的评论中提到是否可以进行字符串的排序,由于最近有考试,时间比较紧,所以今天才实现此功能.此功能是针对一串字符川进行的实现,运行后的结果如下所示: 具体的程序相对较为简单, ...

  4. Java之List排序功能举例

    package test_demo; import java.util.ArrayList; import java.util.Collections; import java.util.List; ...

  5. java输入一个字符串,打印出该字符串中字符的所有排列,随机打乱排序

    import java.util.ArrayList;import java.util.Collections;import java.util.List; public class Test7{   ...

  6. Java TreeSet集合排序 && 定义一个类实现Comparator接口,覆盖compare方法 && 按照字符串长度排序

    package TreeSetTest; import java.util.Iterator; import java.util.TreeSet; import javax.management.Ru ...

  7. Java判断一个字符串是否有中文

    Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比 ...

  8. THINKPHP_(1)_修改TP源码,支持对中文字符串按拼音进行排序。

    问题:TP从服务器数据中取出的collection数据,当进一步在网页中进行分页显示时,需要调用order函数,实现类似如下图的排序. 当点击页面中的相关内容时,实现对服务器数据进行重排,就要调用TP ...

  9. Java中实现对集合中对象按中文首字母排序

    有一个person对象如下: public class Person { private String id;private String nam; } 一个list集合如下: List<Emp ...

随机推荐

  1. python中的类简单讲解

    类似其它的语言, Python 中的函数使用小括号( () )调用.函数在调用之前必须先定义.如果函数中没有 return 语句, 就会自动返回 None 对象.      Python 是通过引用调 ...

  2. Java动手实验及课后程序

    课后作业 一.编写程序,消息框显示计算结果 设计思想:导入Scanner包,使用JOptionPane类来实现消息框的输入和结果的显示. 程序代码: package com; import java. ...

  3. BZOJ 1041 圆上的整点

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1041 题意:求圆x^2+y^2=r^2上的整点. 思路:由于对称性,我们只需要计算第一象 ...

  4. 第九篇 ERP实施项目中需求分析及方案设计的通用思路

    顾问实施ERP就好想医生给患者看病抓药,不但具有类似的过程,而且具有其通用的思路. --详见http://bbs.erp100.com/thread-272856-1-1.html 顾问实施ERP就好 ...

  5. [POJ3264]Balanced Lineup(线段树,区间最值差)

    题目链接:http://poj.org/problem?id=3264 一排牛按1~n标号记录重量,问每个区间最重的和最轻的差值. 线段树维护当前节点下属叶节点的两个最值,查询后作差即可. #incl ...

  6. leetcode:Count Primes

    Description:Count the number of prime numbers less than a non-negative number, n. 本题给定一个非负数n,让我们求小于n ...

  7. iOS NSNotificationCenter(消息机制)

    转自:http://blog.csdn.net/liliangchw/article/details/8276803 对象之间进行通信最基本的方式就是消息传递,在Cocoa中提供Notificatio ...

  8. Windows上安装Yeoman

    之前直接安装完Node.js后,运行npm install -g yo命令,结果出现什么"要安装framework2.0 sdk,vcbuild"什么的错误,怎么也弄不好,结果是各 ...

  9. 原型设计工具Axure 建模工具powerdesigner

    Licensee:IloveyouAxure Key:UChpuxwbDW6eAIaAf9UujEFSBwN3vpEz9snHvlCQVJGQy4p7WrCyKLLvV5QLvqva   注册用户名: ...

  10. php flock注意事项

    对于实际的运用,必须将其添加到所有使用的文件脚本中 但注意:其函数无法再NFS或其他网络文件系统中使用也无法在多线程服务器API中使用.