难点:汉字转为拼音。

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(List<IndexModel> list) {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, List<IndexModel> list) {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.length-1-i ; j++) {if (arr[i]>arr[i+1]) {int temp=arr[i+1];arr[i+1]=arr[i];arr[i+1]=temp;}}}}

Android 实现中文按拼音排序方法相关推荐

  1. android中文首字母排序,Android 实现中文按拼音排序方法

    难点:汉字转为拼音. https://github.com/promeG/TinyPinyin 是首先获取的Bean对象: for (int i = 0; i < dataList.size() ...

  2. php 字母数字混合排序,JavaScript_基于JS实现数字+字母+中文的混合排序方法,在上篇文章给大家介绍了JavaScr - phpStudy...

    基于JS实现数字+字母+中文的混合排序方法 在上篇文章给大家介绍了JavaScript sort数组排序方法和自我实现排序方法小结,用自己的方法实现了数字数组的排序. 当然,实际运用中,我还是会使用s ...

  3. silverlight4/5 修改源码实现 DataGrid 中文按拼音排序

    silverlight3的DataGrid中文按拼音排序,silverlight4/5不是,本文通过修改SDK DLL实现silverlight3的拼音排序. 老项目还是silverlight3的,升 ...

  4. android中文首字母排序,Android上汉字按拼音排序如何实现?

    具体的代码在 packages\providers\contactsprovider\src\com\android\providers\contacts\ContactL ocaleUtils.ja ...

  5. mysql实现中文根据拼音排序

    最近项目遇到一个要求,jqueryeasyui中的combobox下拉数据要根据输入的中文拼音排序. 如,输入"北",依次出现"北斗","北京&quo ...

  6. 在node中,中文转拼音排序

    首先npm i transliteration 下载该资源 const { transliteration, slugify } = require('transliteration');//假设现在 ...

  7. ElasticSearch学习(四)—— 中文按拼音排序拼音检索

    使用pinyin分词器 下载拼音分词器https://github.com/medcl/elasticsearch-analysis-pinyin 解压进入目录elasticsearch-analys ...

  8. Android读取中文文件乱码解决方法

    最近在做个MP3播放器,出现中文乱码问题,在网上找了很多解决办法,我整理了出现乱码的点和解决方案,拿出来和大家共享一下 1.读取中文文件乱码解决方法 package com.apj.conv; imp ...

  9. layui 改写 table 排序,填加中文按照拼音排序

    因为layui table默认的排序不支持中文拼音,改写layui源码来完成我们的需求 注意在layui官网下载到的layui代码是压缩后的,这里需要下载layui的源码 layui源码地址: 码云地 ...

最新文章

  1. $_FILES error(笔记)
  2. “Duke选择大奖”荟萃2009最具创新的Java技术应用
  3. Windows7 64位 plsql developer连接oracle最终解决方法
  4. 【机器学习】层次聚类
  5. java常见面试题及答案(基础题122道,代码题19道),java高级面试笔试题
  6. oracle到pg不停机增量迁移,研究 Oracle 到 PostgreSQL 的数据迁移 – 以 pgloader 为例 – Phy 的博客...
  7. python websocket django vue_Django资料 Vue实现网页前端实时反馈输出信息
  8. 夺命雷公狗---node.js---21之项目的构建在node+express+mongo的博客项目6之数据的遍历...
  9. 【NLP】浅谈 Transformer-based 模型中的位置表示
  10. HDU2612---(两次BFS)
  11. python random库 伪随机 随机抽数字 抽学号
  12. php 网贷 源码,thinkphp仿百度钱包网贷借款源码
  13. 下载安装typora
  14. 北大计算机前辈徐,九年中获得国家最高科学技术奖的八位北大人
  15. 锚具ovm是什么意思_OVM锚具
  16. PHP 7从零基础到项目实战,PHP 7从零基础到项目实战
  17. MFC进修笔记2——MFC和Win32
  18. 解决:win10一开机,内存占用过高,有的达到70%的办法
  19. 最新版大学英语六级词汇打印版
  20. Spark+Scala建设数仓和数据分析

热门文章

  1. Win10系统下禁止ie浏览器自动跳转到Microsoft Edge浏览器
  2. 从头再学 JavaScript 系列前言
  3. 【原创开源】网络版二代双通道示波器开源发布,支持电脑,手机和Pad等各种OS平台访问
  4. 关于圆、圆柱、圆锥的计算
  5. Android 实时投屏软件 QtScrcpy
  6. 通过kafka和filebeat收集日志 再保存到clickhouse 最后通过grafana展现
  7. 用AForge将普通视频转换为带运动检测效果的视频
  8. itext 填充PDF表单
  9. cmd_vel_mux简要笔记
  10. 04741自考计算机网络原理最详细汇总