用于对DropDownlist进行排序的java字符串数字比较器

时间:2012-09-13 20:06:42

标签: java comparator

String Numeric Comparator对DropDownlist进行排序:

列表有Ex:1 per 1 months1 per 2 months ...... 2 per 12 months

我尝试StringComparatorString Numeric ComparatorNumericComparatorSplit Comparator但没有效果,任何建议

2 个答案:

答案 0 :(得分:1)

您的Comparator自定义实现将帮助您:

Comparator<String> comp = new Comparator<String>() {
  public int compare(String o1, String o2) {
    // TODO
  }
};

答案 1 :(得分:1)

你必须自己编写比较器。首先,您必须计算x / y,其中文本 x每个月。然后你只需要将x1 / y1与x2 / y2进行比较。

Comparator<String> comp = new Comparator<String>() {
    public int compare(String o1, String o2) {
        Double d1 = calcValue(o1);
        Double d2 = calcValue(o2);
        return d1.compareTo(d2);
    }

    private Double calcValue(String s) {
         Double x, y;
         // extract x and y from String s
         ...
         return x / y;
    }
};