打字猴:1.70044308e+09
1700443080
1700443081 三个牛“犇”读bēn,三个金“鑫”读xīn,这两个字经常出现在饭店和商店的名称上,我们来看排序的输出结果:
1700443082
1700443083 1、鑫(X)
1700443084
1700443085 2、犇(B)
1700443086
1700443087 输出结果又乱了!不要责怪Java,它已经尽量为我们考虑了,只是因为我们的汉字文化太博大精深了,要做好这个排序确实有点难为它。更深层次的原因是Java使用的是UNICODE编码,而中文UNICODE字符集是来源于GB18030的,GB18030又是从GB2312发展起来,GB2312是一个包含了7000多个字符的字符集,它是按照拼音排序,并且是连续的,之后的GBK、GB18030都是在其基础上扩充出来的,所以要让它们完整排序也就难上加难了。
1700443088
1700443089 如果是排序对象是经常使用的汉字,使用Collator类排序完全可以满足我们的要求,毕竟GB2312已经包含了大部分的汉字,如果需要严格排序,则要使用一些开源项目来自己实现了,比如pinyin4j可以把汉字转换为拼音,然后我们自己来实现排序算法,不过此时你也会发现要考虑诸如算法、同音字、多音字等众多问题。
1700443090
1700443091 注意 如果排序不是一个关键算法,使用Collator类即可。
1700443092
1700443093
1700443094
1700443095
1700443096 编写高质量代码:改善Java程序的151个建议 [:1700438130]
1700443097 编写高质量代码:改善Java程序的151个建议 第5章 数组和集合
1700443098
1700443099 噢,他明白了,河水既没有牛伯伯说的那么浅,也没有小松鼠说的那么深,只有自己亲自试过才知道。
1700443100
1700443101 ——寓言故事《小马过河》
1700443102
1700443103 数据集处理是每种语言必备的功能,Java更甚之,数据集可以允许重复,也可以不允许重复,可以允许null存在,也可以不允许null存在,可以自动排序,也可以不自动排序,可以是阻塞式的,也可以是非阻塞式的,可以是栈,也可以是队列……
1700443104
1700443105 本章将围绕我们使用最多的三个数据集合(数组、ArrayList和HashMap)来阐述在开发过程中要注意的事项,并由此延伸至Set、Queue、Stack等集合。
1700443106
1700443107
1700443108
1700443109
1700443110 编写高质量代码:改善Java程序的151个建议 [:1700438131]
1700443111 编写高质量代码:改善Java程序的151个建议 建议60:性能考虑,数组是首选
1700443112
1700443113 数组在实际的系统开发中用得越来越少了,我们通常只有在阅读一些开源项目时才会看到它们的身影,在Java中它确实没有List、Set、Map这些集合类用起来方便,但是在基本类型处理方面,数组还是占优势的,而且集合类的底层也都是通过数组实现的,比如对一个数据集求和这样的计算:
1700443114
1700443115 //对数组求和
1700443116
1700443117 public static int sum(int[]datas){
1700443118
1700443119 int sum=0;
1700443120
1700443121 for(int i=0;i<datas.length;i++){
1700443122
1700443123 sum+=datas[i];
1700443124
1700443125 }
1700443126
1700443127 return sum;
1700443128
1700443129 }
[ 上一页 ]  [ :1.70044308e+09 ]  [ 下一页 ]