作者buubuu (buu)
站内java
标题[问题] 排序
时间Thu Sep 18 21:19:58 2008
我使用Array.sort(s)去排序
String[] s={"闪电1","闪电12","闪电3","闪电4","闪电5","闪电2","闪电21","闪电10"}
本来想要的结果是
闪电1,闪电2,闪电3,闪电4,闪电5,闪电10,闪电12,闪电21
但排序出来会是闪电1,闪电10,闪电12,闪电2,闪电21,闪电3,闪电4,闪电5
google了很久 但找不到比较好的方法
请问有没有比较好的方法呢?
考虑是否自己写排序的规则来解决QQ
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.84.70
※ 编辑: buubuu 来自: 140.115.84.70 (09/18 21:21)
1F:推 smayday:它是sort "String" 不是sort "int" 所以应该要自己写 09/18 21:33
2F:推 caty1010:自己写比较好= = 09/18 21:33
3F:推 gotoo:搞清楚你要sort的是字串还是整数先 09/18 21:37
4F:推 qrtt1:看不出元素是字串 09/18 21:38
※ 编辑: buubuu 来自: 140.115.84.70 (09/18 21:41)
5F:→ buubuu:不好意思 原来写的问题不够清楚 已修改> < 09/18 21:42
6F:推 smayday:宣告时就宣告String 所以那些数字都是个String 09/18 21:43
7F:→ buubuu:楼上说的 我明白 但不懂结果为什麽会这样@@ 09/18 21:45
8F:推 smayday:把数字拆出来sort QQ" 09/18 21:45
9F:推 gotoo:字串排序那是必然的结果,不然把编号的位数弄成一样也可以 09/18 21:51
10F:推 AppleFox:这在OS里面也蛮常见的 它基本定义就是这样排 09/19 17:22
11F:推 laechan:不然就"闪电01","闪电02",...,"闪电10", 但是一般会建议别 09/19 23:53
12F:→ laechan:把array的 element定义太多重覆的string才会精简好看些 09/19 23:54
13F:→ buubuu:谢谢大家的回覆QQ 小弟受教了 还有回覆文章的大大 帮助很大 09/20 00:53
14F:→ buubuu:目前是在写youtube API回传title排序 所以有点麻烦~"~ 09/20 01:01
15F:→ buubuu:s大是用长度来判别 但遇到三保妹part04 10/12这就不行了QQ" 09/20 01:04
16F:→ buubuu:part02 10/12 和part04 10/12无法分开来 目前苦思中~"~ 09/20 01:07
17F:推 MonyemLi:用正规表示法切出数字与文字,分两部份比较 09/24 01:23