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拼音,中文姓名排序的更多相关文章

  1. Java 随机生成中文姓名,手机号,邮编,住址

    package lovo; import java.util.HashMap; import java.util.Map; /** * 随机生成中文姓名,性别,Email,手机号,住址 * @auth ...

  2. Android实现中文汉字笔划(笔画)、中文拼音排序、英文排序

    发布时间:2018-11-16   技术:Android   概述 最近要做一个类似微信的,在登录界面选择国家地区的功能,微信有中文汉字笔画排序以及中文拼音排序等几种方式,如下所示: 简体中文 拼音排 ...

  3. SQL 用中文的拼音和笔画排序

    SQL 用中文的拼音和笔画排序   城市按拼音排序: SELECT chineseName FROM [表名] order by chinesename collate Chinese_PRC_CS_ ...

  4. java中文拼音字母排序

    package com.yputil.util; import java.text.CollationKey;import java.text.Collator;import java.util.Ar ...

  5. Java对中文进行排序

    对中文进行排序,同样是得定义一个Comparator,下面上代码: import java.text.Collator; import java.util.ArrayList; import java ...

  6. mysql 中将汉字(中文)按照拼音首字母排序

    因为数据库中可以设定表的编码格式,不同编码格式下,中文的排序有区别,下面分别介绍常用编码下的排序方法. 1.如果数据表的某字段的字符编码是 utf8_general_ci,排序写法: ORDER BY ...

  7. .NET转JAVA之拼音组件

    PS:做了4年,自我感觉.NET到瓶颈了,而且公司并没有深入运用.NET技术的项目,自我学习感觉也没太大动力(请骂我懒T_T).再加上技术年限越往上走,了解到的.NET职业提升环境就越来越艰难(个人理 ...

  8. Android根据联系人姓名首字符顺序读取通讯录

      Android根据联系人姓名首字符顺序读取通讯录 版权声明:本文为Zhang Phil原创文章,欢迎转载!转载请注明出处:http://blog.csdn.net/zhangphil 本文给出了A ...

  9. JAVA Collections工具类sort()排序方法

    主要分析内容: 一.Collections工具类两种sort()方法 二.示例 一.Collections工具类两种sort()方法 格式一: public static <T extends ...

随机推荐

  1. STM32 modbus CRC16校验

    typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef int int32_t; const uint16_t ...

  2. BottomNavigationBar底部导航条用法

    先来张效果图 接下来是实现过程 1.加入依赖 compile 'com.ashokvarma.android:bottom-navigation-bar:1.3.0' 2.xml布局 fragment ...

  3. Java Web 开发中路径相关问题小结

    Java Web开发中路径问题小结 (1) Web开发中路径的几个基本概念 假设在浏览器中访问了如下的页面,如图1所示: 图1 Eclipse中目录结构如图2所示: 图2 那么针对这个站点的几个基本概 ...

  4. RHEL5.8上SAMBA源码修改打包安装流程

    之前一直使用系统自带的SAMBA,近期需要对SAMBA代码做一些修改,然后还是打算用RPM包的方式来安装部署. 这个流程本身不复杂,在这里记录下来,免得在另外写说明文档. 关键词:RHEL5.8, s ...

  5. 年度精品 XP,32/64位Win7,32/64位Win10系统【电脑城版】

    随着Windows 10Build 10074 Insider Preview版发布,有理由相信,Win10离最终RTM阶段已经不远了.看来稍早前传闻的合作伙伴透露微软将在7月底正式发布Win10的消 ...

  6. docker使用阿里云镜像加速器(属于自己的专属加速器)

    https://cr.console.aliyun.com/cn-shanghai/mirrors

  7. 课外作业(建立double类型的小数,按照四舍五入保留2位小数)

    举例:

  8. 搜索 || DFS || POJ 1321 棋盘问题

    棋盘上#可以放,.不可以放,每行每列只能放一个 *解法:类似八皇后问题 dfs+回溯,考虑每一行和每一列 [[[[dfs的样子]]]]最前面写达到目标状态or不能走下去了 然后return #incl ...

  9. Gear Pump: Why Install A Pressure Reducing Valve?

    When the     Gear Pump Manufacturers    prompts to install a gear pump, the following points should ...

  10. 第1节 flume:6、flume的入门测试案例

    案例:使用网络telent命令向一台机器发送一些网络数据,然后通过flume采集网络端口数据. 1.2.1 Flume的安装部署 第一步:下载解压修改配置文件 Flume的安装非常简单,只需要解压即可 ...