0

String Numeric Comparator对下拉列表进行排序:

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

试过了StringComparator,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,String Numeric Comparator_ NumericComparator_Split Comparator

4

2 回答 2

1

您必须编写自己的比较器。首先,您必须计算 x / y ,其中文本为x 每 y 个月。然后您只需将 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;
    }
};
于 2012-09-13T20:12:39.730 回答
1

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

Comparator<String> comp = new Comparator<String>() {
  public int compare(String o1, String o2) {
    // TODO
  }
};
于 2012-09-13T20:11:10.537 回答