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. Java 互联网工程师要具备哪些技能或技术?

    Java技术的世界是个无底洞,永远也学不完,不废话了,我就简单的说一下自己的看法(偏重Java方面,什么html.css.js这些不在这次的讨论之内,虽然JavaServer开发有时候也都需要懂点): ...

  2. C#将list转换为datatable

    DataTable dt = new DataTable(); if (_list != null) { //通过反射获取list中的字段 System.Reflection.PropertyInfo ...

  3. [HDOJ2639]Bone Collector II(第k优01背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2639 题意:求01背包的第k优解 dp(i, j)表示容量为j时的i优解 对于第二维的操作和01背包几 ...

  4. php面试题整理

    PHP经典面试题:(不断跟进补充中...) 1.用PHP打印出前一天的时间格式是2009-02-10 22:21:21(2分) echo date('Y-m-d H:i:s', strtotime(' ...

  5. JS获取系统的指定定年月日

    /** * 获取系统当前时间 */ function getNowYearMouth(){ var date=new Date; var nowYearMouth=date.getMonth()+1; ...

  6. 极限编程,最强N皇后JAVA解题代码,4秒出15皇后,33秒出16皇后

    私人博客原文链接来自:http://www.hexcode.cn/article/show/eight-queen 8皇后以及N皇后算法探究,回溯算法的JAVA实现,非递归,循环控制及其优化 8皇后以 ...

  7. 线程——委托InvokeRequired和Invoke

    C#中禁止跨线程直接访问控件,InvokeRequired是为了解决这个问题而产生的,当一个控件的InvokeRequired属性值为真时,说明有一个创建它以外的线程想访问它.此时它将会在内部调用ne ...

  8. Sass中的mixin,function,extend

    Mixins: 用于相类似的css属性将会被使用多次,每次调用时仅仅有小的参数改变: Function 用于计算得出相关值: Extend 有一批属性完全匹配时,应该使用extend

  9. Qt Assistant介绍

    简介 Qt Assistant也就是我们常说的Qt助手,是一款用于呈现在线文档的工具. 简介 一分钟学会使用 Qt参考文档 Qt Assistant详解 命令行选项 工具窗口 文档窗口 工具栏 菜单 ...

  10. android 单词

    inflate: 胀, 膨, 通货膨胀, 膨胀系数