就是这个样子,通过后面的数字给每个元素排序,注(字和数字是一个元素)list集合
在线等
我是说1.拿出字符串中的数字,2.对数字进行排序3,对应到原来带数字那个字符串的排序,我想问1.我怎么拿到数字?比如我是56,你确定拿出来的是int型56,而不是字符串“56”,2.对数字排序后,怎么让原始字符串排序.......................................
分析问题,集合中每一个元素都含有数字,需要得到里面的数字存入一个集合或者数组中
循环遍历字符串,根据下标判断每一个字符是否是数字,是的话加入一个空的字符串中,遍历一遍后得到原字符串中的数字字符串,转换成数字存入数组,进行升序排序
import java.util.ArrayList;获得数字后就是排序了。。冒泡或者快排 这个很容易搜到吧
追问你说的单独的排序这简单的刚学java的都会,我是说1.拿出字符串中的数字,2.对数字进行排序3,对应到原来带数字那个字符串的排序,我想问1.我怎么拿到数字?比如我是56,你确定拿出来的是int型56,而不是字符串“56”,2.对数字排序后,怎么让原始字符串排序.......................................
追答1.你没看我写的么? m.group()就是取得字符串 ,Integer.valueOf(m.group())就是转成int型啊!
2.这个你得动脑啊,比如,循环的去数字的时候,取得数字存一份到一个新的List,存个HashMap,List的每项item为key,下标为value,然后给新的list排序。排完循环新的list,每次取出一个值去之前的map里面取得原下标就可以取到原list中的值,然后原list.set(当前循环下标,原list值)....不知道你能不能听懂
做个字符串的比较器,然后直接sort
运行结果
[abc3, xya2, ddd1, fas93, lkk30, mmm78, ccd12]
[ddd1, xya2, abc3, ccd12, lkk30, mmm78, fas93]
是否符合你的要求
你说的单独的排序这简单的刚学java的都会,我是说1.拿出字符串中的数字,2.对数字进行排序3,对应到原来带数字那个字符串的排序,我想问1.我怎么拿到数字?比如我是56,你确定拿出来的是int型56,而不是字符串“56”,2.对数字排序后,怎么让原始字符串排序.......................................你告诉我这是基本功?