如何在java中对字母数字字符进行排序?

时间:2011-10-04 10:24:11

标签: java

我想将Q4,Q7,Q2,Q1分类为Q1,Q2,Q4,Q7。

感谢。

3 个答案:

答案 0 :(得分:2)

你可以使用Collections.Sort方法和String比较器,也可以自己编写比较器。

示例

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);

答案 1 :(得分:0)

String实现Comparable。根据你持有它们的方式,即使用List或数组,你可以分别使用Collections.sort()和Arrays.sort()。

答案 2 :(得分:0)

你应该实现自己的比较器,即:

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。但问题不是很清楚。