0

String Numeric Comparatorドロップダウンリストを並べ替えるには:

リストには例があります:1 per 1 months1 per 2 months.....。2 per 12 months

私は、、、を試しましたがStringComparator、うまくいきませんでした、任意の提案String Numeric ComparatorNumericComparatorSplit Comparator

4

2 に答える 2

1

独自のコンパレータを作成する必要があります。まず、x / yを計算する必要があります。ここで、テキストは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;
    }
};
于 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 に答える