我有一个包含键和值作为'String'的hashMap。我从硒自动化脚本的网页中获取这些值。

我的哈希图有以下内容

<Italy, 3.3 millions>
<Venezuela, 30.69 millions>
<Japan, 127.1 millions>


如何将所有字符串字母数字值转换为整数,以便可以对哈希图应用排序?

我必须显示“百万”一词。

最佳答案

据我从您的问题中了解到,您需要做的就是能够对这些值进行排序,因此您需要的是Comparator

这是可以完成此操作的Comparator

Comparator<String> comparator = new Comparator<String>() {
    @Override
    public int compare(final String value1, final String value2) {
        return Double.compare(
            Double.parseDouble(value1.substring(0, value1.length() - 9)),
            Double.parseDouble(value2.substring(0, value2.length() - 9))
        );
    }
};
System.out.println(comparator.compare("3.3 millions", "30.69 millions"));
System.out.println(comparator.compare("30.69 millions", "30.69 millions"));
System.out.println(comparator.compare("127.1 millions", "30.69 millions"));


输出:

-1
0
1

07-28 12:55