我有一个字符串数组,我有一个数据库的fileterd,输出如下所示
[ABCD XYZ M1210,
ABCD XYZ M149,
ABCD XYZ M5130,
ABCD XYZ N1420,
ABCD XYZ T11299,
ABCD XYZ S11044]
我希望我的数组排序如下:
[ABCD XYZ M149,
ABCD XYZ M1210,
ABCD XYZ M5130,
ABCD XYZ N1420,
ABCD XYZ S11044,
ABCD XYZ T11299]
这是我最不想要的元素
==> String theStringIWant = myStringArray.get(myStringArray.size() - 1);
我需要做的是首先按字母顺序对“XYZ”后面的字母进行排序,然后按数字顺序对后面的字母进行排序,例如ABCD XYZ M1210〈ABCD XYZ M5130,因为5130大于1210。
任何帮助在这里将不胜感激
- 对java等中合适库的任何引用
干杯
4条答案
按热度按时间bkhjykvo1#
这两个提取方法作为练习。阅读String和/或Matcher的javadoc,了解如何做到这一点。
v8wbuo2f2#
您可以使用
Collections.sort
对内容进行排序。同时,写一个比较器进行比较,比如,
1写一个比较器
2使用
Collections.sort
和Comparator完成排序控制台中的输出:
在分类之前... ...
分类后... ...
jgwigjjp3#
这是我最不想要的元素
下面的程序首先提取字符串元素的最后一个整数部分。然后通过比较它们返回。
输出:
qgzx9mmu4#
一个问题也可以是reverers它一样排序编号其次是字母我知道这是reverers它但张贴所以任何人都可以得到的想法
预期输出:B01 A02 A03 A04 A10 A11 C13 A20 A112