百家姓排序1
来源:互联网 发布:淘宝助理5.0官方下载 编辑:程序博客网 时间:2024/06/15 03:05
对姓名按百家姓进行排序:(待优化)
/** * Created by Administrator on 2017/5/17. */package com.zte.sunquan.demo.nsort;public class NameSort { public static String[] sort(String... args) { String[] result = new String[hundredName.length()]; for (int i = 0; i < hundredName.length(); i++) result[i] = i+":"; for (String name : args) { int i = hundredName.indexOf(name.substring(0, 1)); if (i != -1) { result[i] += name+","; } } return result; } private static final String hundredName = "赵钱孙李周吴郑王" + "冯陈褚卫 蒋沈韩杨" + "朱秦尤许 何吕施张" + "孔曹严华 金魏陶姜" + "戚谢邹喻 柏水窦章" + "云苏潘葛 奚范彭郎" + "鲁韦昌马 苗凤花方" + "俞任袁柳 丰鲍史唐" + "费廉岑薛 雷贺倪汤" + "滕殷罗毕 郝邬安常" + "乐于时傅 皮卞齐康" + "伍余元卜 顾孟平黄" + "和穆萧尹 姚邵湛汪" + "祁毛禹狄 米贝明臧" + "计伏成戴 谈宋茅庞" + "熊纪舒屈 项祝董梁" + "杜阮蓝闵 席季麻强" + "贾路娄危 江童颜郭" + "梅盛林刁 钟徐丘骆" + "高夏蔡田 樊胡凌霍" + "虞万支柯 昝管卢莫" + "经房裘缪 干解应宗" + "丁宣贲邓 郁单杭洪" + "包诸左石 崔吉钮龚" + "程嵇邢滑 裴陆荣翁" + "荀羊於惠 甄麴家封" + "芮羿储靳 汲邴糜松" + "井段富巫 乌焦巴弓" + "牧隗山谷 车侯宓蓬" + "全郗班仰 秋仲伊宫" + "宁仇栾暴 甘钭厉戌" + "祖武符刘 景詹束龙" + "叶幸司韶 郜黎蓟薄" + "印宿白怀 蒲邰从鄂" + "索咸籍赖 卓蔺屠蒙" + "池乔阴郁 胥能苍双" + "闻莘党翟 谭贡劳逢" + "姬申扶堵 冉宰郦雍" + "郤璩桑桂 濮牛寿通" + "边扈燕冀 郏浦尚农" + "温别庄晏 柴瞿阎充" + "慕连茹习 宦艾鱼容" + "向古易慎 戈廖庾终" + "暨居衡步 都耿满弘" + "匡国文寇 广禄阙东" + "欧殳沃利 蔚越菱隆" + "师巩厍聂 晃勾敖融" + "冷訾辛阚 那简饶空" + "曾毋沙乜 养鞠须丰" + "巢关蒯相 查后荆红" + "游竺权逯 盖益桓公" + "万俟司马 上官欧阳" + "夏侯诸葛 闻人东方" + "赫连皇甫 尉迟公羊" + "澹台公冶 宗政濮阳" + "淳于单于 太叔申屠" + "公孙仲孙 轩辕令狐" + "钟离宇文 长孙慕容" + "司徒司空 百家姓终";}
测试:
package com.zte.sunquan.demo.nsort;import org.testng.annotations.Test;import org.testng.collections.Lists;import java.io.*;import java.util.Arrays;import java.util.List;/** * Created by Administrator on 2017/5/17. */public class NameSortTest { @Test public void test1() throws IOException { String[] sort = NameSort.sort(readFile().toArray(new String[]{})); Arrays.stream(sort).filter(s->s.length()>s.indexOf(':')+1).forEach(System.out::println); } private List<String> readFile() throws IOException { List<String> result = Lists.newArrayList(); InputStream is = this.getClass().getResourceAsStream("/names.txt"); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line = ""; while ((line = br.readLine()) != null) { result.add(line); } br.close(); return result; }}
姓名文件:
赵三钱三孙四李三李四孙三输出:
0:赵三,1:钱三,2:孙四,孙三,3:李三,李四,===============================================Default SuiteTotal tests run: 1, Failures: 0, Skips: 0===============================================
阅读全文
0 0
- 百家姓排序1
- 百家姓排序(C++)
- 百家姓
- 百家姓
- 百家姓
- 百家姓
- 百家姓
- 百家姓
- 中华【百家姓】
- 百家姓-黄
- 关于百家姓
- 百家姓英文对照
- 百家姓日文读音
- 百家姓日文读音
- 钱文忠解读百家姓
- js验证百家姓
- 百家姓转拼音
- PHP验证百家姓
- rpm包的定制
- 基于openfire+smack开发Android即时聊天应用[四]-单人聊天、群聊、发送接收文件等
- 基于Metronic的Bootstrap开发框架经验总结(7)--数据的导入、导出及附件的查看处理
- 继承与派生,多继承,函数重载,构造函数调用顺序 静态多态和动态多态
- Redis(Windows)安装与使用
- 百家姓排序1
- 剑指offer 二叉树重构问题
- 使用Visual Studio Code进行开发
- 如何证明根号2不是有理数?
- OpenCV的各模块功能
- 基于Metronic的Bootstrap开发框架经验总结(8)--框架功能总体界面介绍
- 基础知识
- 关于UITextView的封装
- 高斯滤波