0

次の形式の文字列のリストがあります

["BlahBlahBlahBlah   0.9877"]
["ABCabcABCabcAbc   1.7852"]

ご覧のとおり、2 つの間には 1 つのスペースがあります。諸事情によりデザインの変更はできません。

私がする必要があるのは、最後の二重数に基づいてリストをソートすることです。このコードの実装を手伝ってくれる人はいますか?

4

2 に答える 2

3

それは単一のスペースではありませんが、とにかく...

Collections.sort(yourList, new Comparator<String>() {
    public int compare(String s1, String s2) {
        double d1 = Double.valueOf(s1.substring(s1.lastIndexOf(' ') + 1));
        double d2 = Double.valueOf(s2.substring(s2.lastIndexOf(' ') + 1));
        return Double.compare(d1, d2);
    }
});

(まだインポートしていない場合は、java.util.Collections と java.util.Comparator をインポートします。)

于 2013-10-18T21:27:29.793 に答える
0

数値が常に X.XXXX (5 桁と 10 進数) の形式になることがわかっている場合は、次のようなことができます。

String asString = yourString.substring(yourString.length-9,yourString.length-3);
Double asDouble = Double.parseDouble(number);
于 2013-10-18T21:26:57.217 に答える