已知:
有某个对象的集合,现要求,按照该对象的某个字段中的阿拉伯数字进行逻辑排序(该字段中有汉字有数字)
思路:
循环遍历取出该字段的String值
如果该值不算太长的话,遍历这个string,取出数字(1 要处理成 01或者001 这个取决你要排多少位的数)
然后往MAP里面放入对象,key为数字,value为该对象(这里要判断 key 是否重复,如果重复的话 可以往后加标志位,例如001A 或者 00101)
map.keySet().toArray();返回一个Object数组,数字自带一种排序的规则,只要你传入的数组符合他排序的要求,就可以进行排序
我们得到新的数组,虚循环遍历,以数组中的每一个元素为key的value都是一个对象,挨个取出
得到顺序完整的集合
反思:
即使数组不能进行中文+数字的排序,但是我们可以拼接一个数组可以排序的并且又能代码对象的新的集合进行排序,矛盾的转移然我们很好的完成了此次任务