我有一个包含键和值作为'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