如何对java中的字母数字字符进行排序?
答
您可以使用Collections.Sort方法与字符串比较器或可以编写自己的比较器。
样品
String [] str = new String[]{"Q4","Q7","Q2","Q1"};
List<String> list = Arrays.asList(str);
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
System.out.println(list);
答
字符串实现媲美。根据你持有它们的方式,即使用List或数组,你可以分别使用Collections.sort()和Arrays.sort()。
答
你应该实现自己的比较,即:
public class ComparatorSO implements Comparator<String>{
@Override
public int compare(String o1, String o2) {
Integer i1 = Integer.parseInt(o1.substring(1));
Integer i2 = Integer.parseInt(o2.substring(1));
return i1.compareTo(i2);
}
}
没有测试过,并假设输入字符串形式QN具有n为int。但问题不是很清楚。
你的例子可以很好地排序字符串的自然顺序。但是,大概你可以在Q7之后得到“Q10”? –
你能举例说明如何对此进行排序吗? – Vasu
条目的格式是什么?它是单个非数字后面跟单个数字/多个数字吗?订单优先顺序是什么?首先是字符,然后是数字? –