我有一个字符串[5:10,1:2],我必须压缩这个字符串并同时排序。 我使用了这个正则表达式
String[] strRange = ranges.replaceAll("\\s", "").replaceAll("[^A-Za-z0-9 ]"," ").split(" ");
将其转换为数字[5,10,1,2]
的简单字符串数组。
我做了一些字符串到整数操作,以便我可以将该字符串数组存储到ArrayList<Integer>
中。
不知何故,我使用Collections.sort()[1,2,5,10]对列表进行了排序。
我需要的是将已排序的Arraylist
转换回[1:2,5:10]
。
任何人都可以帮助我集体讨论这个问题吗?
答案 0 :(得分:0)
我无法将其发布到评论部分。请参阅以下内容:
List<Integer> integers = Arrays.asList(1, 2, 3, 4);
int i = 0;
StringBuilder sb = new StringBuilder("[");
for (int value : integers) {
sb.append((i == 0) ? "" : (i % 2 == 0 ? "," : ":")).append(value);
i++;
}
sb.append("]");
System.out.println(sb.toString());
输出是:
[1:2,3:4]