android中文首字母排序,Android 实现中文按拼音排序方法
难点:汉字转为拼音。
https://github.com/promeG/TinyPinyin
是首先获取的Bean对象:
for (int i = 0; i < dataList.size(); i++) {
//将汉字转化为拼音,并以“,”隔开 如:北京市 -> BEI,JIN,SHI
String s = Pinyin.toPinyin(dataList.get(i).platformName, ",");
String[] strarr = s.split(",");
//取首字母
for (int m = 0; m < strarr.length; m++) {
strarr[m] = strarr[m].substring(0, 1);
}
StringBuffer sb = new StringBuffer();
for (int n = 0; n < strarr.length; n++) {
sb.append(strarr[n]);
}
//s2=BJS
String s2 = sb.toString();
Log.e(TAG, "vgetPlatformListByLetter: s2=" + s2);
//bean的成员变量赋值
dataList.get(i).namePinYin = s2;
}
/**
* 进行冒泡排序
*list 根据bean的成员变量namePinYin 排序
* @param list
*/
public void transferList(Listlist) {
for (int i = 0; i < list.size() - 1; i++) {
for (int j = 0; j < list.size() - 1 - i; j++) {
exchangeNameOrder(j, list);
}
}
}
/**
* 交换两个名字的顺序,根据首字母判断
*
* @param j
* @param list
*/
public void exchangeNameOrder(int j, Listlist) {
String namePinYin1 = list.get(j).namePinYin;
String namePinYin2 = list.get(j + 1).namePinYin;
int size = namePinYin1.length() >= namePinYin2.length() ? namePinYin2.length() : namePinYin1.length();
for (int i = 0; i < size; i++) {
if (!list.get(j).belongLetter.equals(list.get(j + 1).belongLetter)) {
break;
}
char jc = namePinYin1.charAt(i);
char jcNext = namePinYin2.charAt(i);
if (jc < jcNext) {//A在B之前就不用比较了
break;
}
if (jc > jcNext) {//A在B之后就直接交换,让A在前面B在后面
IndexModel nameBean = list.get(j);
list.set(j, list.get(j + 1));
list.set(j + 1, nameBean);
break;
}
//如果AB一样就继续比较后面的字母
}
}
//大数向后移动,每趟排序确定这一趟的最大值,就像冒泡一样。
public void sort_maopao(int arr[]){
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j arr[i+1]) {
int temp=arr[i+1];
arr[i+1]=arr[i];
arr[i+1]=temp;
}
}
}
}
android中文首字母排序,Android 实现中文按拼音排序方法相关推荐
- java怎么获取中文首字母_Java如何获取中文拼音首字母的方法介绍
下面小编就为大家带来一篇java获取中文拼音首字母的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 如下所示: import net.sourceforge.pin ...
- android 通讯录 首字母索引,android仿微信通讯录搜索(匹配拼音,字母,索引位置标记颜色)...
前言: 仿微信通讯录搜索功能,通过汉字或拼音首字母找到匹配的联系人并显示匹配的位置 一:先看效果图 字母索引 搜索匹配 二:功能分析 1:汉字转拼音 通讯录汉字转拼音(首个字符当考虑姓氏多音字), 现 ...
- SQL 中文首字母提取与自定义排序
中文首字母提取 利用汉字编码边界值提取 --中文转首字母 select case when regexp_like(t.party_name,'^[a-zA-Z0-9]') then upper(su ...
- java首字母排序_Java实现按中文首字母排序的具体实例
这篇文章主要介绍了Java实现按中文首字母排序的具体实例,有需要的朋友可以参考一下 要实现"按中文首字母排序"操作,可以使用java.util包下的Arrays类的sort()函数 ...
- 数字排在最前,英文字母其次,汉字则按照拼音进行排序,获取中文首字母
中文名称,按照A-Z方式进行排序. import cn.hutool.extra.pinyin.PinyinUtil; import com.alibaba.nacos.client.utils.St ...
- js中文首字母排序(二)
前面写了一篇 js中文首字母排序(一) 链接:http://www.alexpers.com/opuscule/chineseSort/sort.html 文章主要是应用过来js的两个方法,sort( ...
- Qt中实现获取中文首字母(GB2312 和 unicode以及调用Unihan实现全汉字拼音转换,支持多音字和生僻字等)和中英文数字排序功能
Qt5中可以通过qSort接口,结合QLocale类和QCollator类,可以对中文,英文,数字进行排序,但默认排序顺序为数字.英文.中文,但如果需要中英文混合排序的话,需要另外封装方法实现. 这种 ...
- java实现字母排序_Java实现按中文首字母排序的具体实例
要实现"按中文首字母排序"操作,可以使用java.util包下的arrays类的sort()函数. arrays类包含用来操作数组(比如排序和搜索)的各种方法. 比如对于排序操作的 ...
- 使用Java对中文首字母进行排序
前言 最近由于工作需求,需要对行政区划根据中文首字母进行排序,在网上查了些资料,没有什么收获,基本上都是千篇一律.相互"借鉴".因此本人在此做一个整理,以备后续不时之需. 废话不多 ...
- java字母排序_【Java】实现按中文首字母排序 | 学步园
要实现"按中文首字母排序"操作,可以使用java.util包下的Arrays类的sort()函数. Arrays类包含用来操作数组(比如排序和搜索)的各种方法. 比如对于排序操作的 ...
最新文章
- Windows Server 2016-安装AD域服务注意事项
- 【最强ResNet改进系列】Res2Net:一种新的多尺度网络结构,性能提升显著
- 扫描PDF转换成word文档如何操作
- Python的StringIO模块和cStringIO模块
- php 变成 25,2020-09-25 PHP变量介绍
- java model 中文乱码_Java解压zip 解决编码和中文乱码问题
- 96. (GO)不同的二叉搜索树
- python编辑器对比和推荐
- 使用MEF方便的扩展
- FAQ宝典之Rancher Server
- everything下载哪个版本_Everything敏感信息泄露
- 学习git: 忽略某些文件(夹)的跟踪
- 学生成绩管理系统sql C#
- 求n+nn+nnn+nnnn+nnnnn+nnnnnn
- 前端之网站结构语义化
- Web1.0时期进入Web3.0时代,即将跨入Web4.0时代
- Redis热搜关键词加载,建议收藏
- 如何提高查找资料能力
- Pure MVC 架构简述
- 【工具】FFmpeg|超大视频本地有损压缩,500MB变25MB(支持 Windows、Linux、macOS)
热门文章
- FPGA引脚功能说明与分析
- php 禁止抓取,服务器反爬虫攻略:Apache/Nginx/PHP禁止某些User Agent抓取网站
- Vulkan_Shader—天空盒原理及源码
- 学习Mac开发第四弹 通过NSImageView加载图片
- PL3366C-ASEMI移动电源管理IC
- **遇到“Cannot create file “不要慌**
- ##CSAPP读书日记-第九章-虚拟内存
- Siney's BLOG - 我也来分析魔兽世界-场景组织
- 游艇租用问题算法c语言,租用游艇问题 算法设计分析
- 用星号输出一个梯形,如下图所示:(使用嵌套for循环完成)