java、android拼音,中文姓名排序
http://blog.sina.com.cn/s/blog_81a9aa7e0100tizj.html
在java或者是android编程的时候,我们经常要用到对姓名或者其他字符串排序,现在我写写自己曾经做过的列子。
普通的数组字符串排序,通过构造器来实现:
假如在main方法中有String name[5] = {"one","张三","李四","王五","two"};
只要调用Arrays.sort(name,0,5,new Comparents());就可以了。
import java.text.Collator;
import java.util.Comparator;
import java.util.Locale;
public class Comparents implements Comparator<Object> {
@Override
public int compare(Object arg0, Object arg1) {
String one = (String)arg0;
String two = (String)arg1;
Collator ca = Collator.getInstance(Locale.CHINA);
int flags = 0;
if (ca.compare(one,two) < 0) {
flags = -1;
}
else if(ca.compare(one,two) > 0) {
flags = 1;
}
else {
flags = 0;
}
return flags;
}
}
在android中,我们经常要用到HashMap,经常用list存放HashMap,我们对List中的元素进行排序的时候,就要用到构造器了,下面具体用列子说说:
假如在main方法中有:
public List<HashMap<String, Object>> listitem;
listitem.add(new HashMap("name","one"));
listitem.add(new HashMap("name","张三"));
listitem.add(new HashMap("name","李四"));
listitem.add(new HashMap("name","王五"));
listitem.add(new HashMap("name","two"));
Comparent comparent = new Comparent();
Collections.sort(listitem, comparent);
其中在Comparent.java文件中定义方法如下:
import java.text.Collator;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Locale; public class Comparent implements Comparator<Object> { @SuppressWarnings("unchecked")
@Override
public int compare(Object arg0, Object arg1) {
HashMap<String, Object> name1 = (HashMap<String, Object>)arg0;
HashMap<String, Object> name2 = (HashMap<String, Object>)arg1;
Collator ca = Collator.getInstance(Locale.CHINA);
int flags = 0;
if (ca.compare((String) name1.get("name"), (String)name2.get("name")) < 0) {
flags = -1;
}
else if(ca.compare((String) name1.get("name"), (String)name2.get("name")) > 0) {
flags = 1;
}
else {
flags = 0;
}
return flags;
}
}
java、android拼音,中文姓名排序的更多相关文章
- Java 随机生成中文姓名,手机号,邮编,住址
package lovo; import java.util.HashMap; import java.util.Map; /** * 随机生成中文姓名,性别,Email,手机号,住址 * @auth ...
- Android实现中文汉字笔划(笔画)、中文拼音排序、英文排序
发布时间:2018-11-16 技术:Android 概述 最近要做一个类似微信的,在登录界面选择国家地区的功能,微信有中文汉字笔画排序以及中文拼音排序等几种方式,如下所示: 简体中文 拼音排 ...
- SQL 用中文的拼音和笔画排序
SQL 用中文的拼音和笔画排序 城市按拼音排序: SELECT chineseName FROM [表名] order by chinesename collate Chinese_PRC_CS_ ...
- java中文拼音字母排序
package com.yputil.util; import java.text.CollationKey;import java.text.Collator;import java.util.Ar ...
- Java对中文进行排序
对中文进行排序,同样是得定义一个Comparator,下面上代码: import java.text.Collator; import java.util.ArrayList; import java ...
- mysql 中将汉字(中文)按照拼音首字母排序
因为数据库中可以设定表的编码格式,不同编码格式下,中文的排序有区别,下面分别介绍常用编码下的排序方法. 1.如果数据表的某字段的字符编码是 utf8_general_ci,排序写法: ORDER BY ...
- .NET转JAVA之拼音组件
PS:做了4年,自我感觉.NET到瓶颈了,而且公司并没有深入运用.NET技术的项目,自我学习感觉也没太大动力(请骂我懒T_T).再加上技术年限越往上走,了解到的.NET职业提升环境就越来越艰难(个人理 ...
- Android根据联系人姓名首字符顺序读取通讯录
Android根据联系人姓名首字符顺序读取通讯录 版权声明:本文为Zhang Phil原创文章,欢迎转载!转载请注明出处:http://blog.csdn.net/zhangphil 本文给出了A ...
- JAVA Collections工具类sort()排序方法
主要分析内容: 一.Collections工具类两种sort()方法 二.示例 一.Collections工具类两种sort()方法 格式一: public static <T extends ...
随机推荐
- 洛谷 P2680 运输计划
题目背景 公元 2044 年,人类进入了宇宙纪元. 题目描述 L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之间,这 n-1 条航道连通了 L 国的所有星球. 小 P 掌管一家 ...
- TCP/IP详解之IP协议
1.IP协议 IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输.要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制 ...
- liunx 中安装mysql 图形界面 phpmyadmin
是浏览器图形界面 1. 安装mysql 图形管理工具. 2. 使用phpmyadmin 图像化工具. 3.下载地址 http://www.phpmyadmin.net/ 4. 查看是否安装这两个包 ...
- vue 组件内 directives指令的调用方式 <base-table v-auto-height:tableHeight="{vm:this, diffHeight:ahTable.diffHeight}"
vue 组件内 directives指令的调用方式 <base-table v-auto-height:tableHeight="{vm:this, diffHeight:ahTabl ...
- upload 上传 加token 在 :headers='headers' 注意 不要直接写$refs.upload.headers = {} 这样vue会警告 修改组件内部变量
upload 上传 加token 在 :headers='headers' 注意 不要直接写$refs.upload.headers = {} 这样vue会警告 修改组件内部变量 <Upload ...
- app自动化配置信息
caps={ "platformName":"Android",#平台名称 "platformVersion":"6. ...
- 包含绑定变量的sql进行调优需注意一点
拿1个sql举个例子,我只贴出了where后面部分 实际环境中有init_date 和direct_no的组合索引IDX_DATE_NO 上诉标红处,:b3=0 和:b3<>0这两种情况o ...
- QT_仅仅直接在构造函数中创建对象的不可行的原因
#include "mainwidget.h" #include <QApplication> int main(int argc, char *argv[]) { Q ...
- ansible2.7学习笔记系列
写在前面:ansible的资料网上很多,本人也是参考网上资料,做总结,如有错误,麻烦指出,谢谢. 所谓学习笔记,就是不断成长的过程,也许一段时间后有更深入理解了,就会继续更新笔记. 笔记定位:目前写的 ...
- MySQL中外键删除、更新
MySQL支持外键的存储引擎只有InnoDB..在创建外键的时候,可以指定在删除.更新父表时,对子表进行的相应操作,包括RESTRICT.NO ACTION.SET NULL和CASCADE. 其 ...