java根据每个字符串的子字符串对字符串ArrayList的一半进行排序
例如,我有一个大小的字符串数组列表
[12,10L,10,10R,10S,10L]
输出应该是
[10S、10R、10L、10、12]
所以基本上大小必须先按数字排序(1,2,3,4,5…等等),然后按字母排序
我设法让这些数字进行排序,所以上面输入的当前输出是
10L,10,10R,10S,10L,12
如果缺少一个字母,那么它是最大的(参见上面的输出-10在10L-10S<;10R<;10L<;10<;12之后。)
我应该如何编写一个比较器来实现这一点
考虑输入数组,大小。此数组包含AB格式的产品尺寸,其中:
A是一个强制整数B是[S,R,L]中的可选字符大小必须先按A从最小到最大排序,然后按B按S的顺序排序
# 1 楼答案
如果它适用于您的测试用例,请尝试这个。如果需要,我们随时可以对其进行改进。(添加了一个助手方法)
输出:[8、10S、10R、10L、10、12S、12、14L、14]
如果不想使用流:
# 2 楼答案
我假设
finalList
列表中有排序数据使用regex匹配整数,合并
alphanumerics
和numbers
的列表在你的排序列表中,运行这个
sizeList
有你需要的