java - 我想检索键值作为字符串和值作为双精度值(注意:值可以在删除 % 符号后以双精度存储)
问题描述
这是我的基类代码,我想将键值作为字符串检索,将值作为 Double 检索,以在验证器中将其与特定范围进行比较。(注意:由于删除了 % 符号,我们可以将值的字符串值存储在 Double 中)
ArrayList al = new ArrayList();
ArrayList al1 = new ArrayList();
HashMap<ArrayList, ArrayList> hmap = new HashMap<ArrayList, ArrayList>();
driver.findElement(By.xpath("//a[contains(@href,'#bottomuppanel')]")).click();
Thread.sleep(15000);
List<WebElement> SecuritySliceColHeader = driver.findElements(By.xpath(
"//td[contains(@class,'dxpgColumnFieldValue_Metropolis dxpgColumnTotalFieldValue_Metropolis dxpgColumnGrandTotalFieldValue_Metropolis lastLevel')]"));
for (WebElement header : SecuritySliceColHeader) {
String ColHead = header.getText();
al.add(ColHead);
}
Thread.sleep(2000);
List<WebElement> grandHeader = driver.findElements(
By.xpath("//td[contains(@class,'lastVertCell dxpgCell_Metropolis dxpgGrandTotalCell_Metropolis')]"));
for (WebElement grand : grandHeader) {
String grandTotalHeader = grand.getText();
al1.add(grandTotalHeader);
}
HashMap<String, String> hmap1 = new HashMap<String, String>();
for (int i = 0; i < al.size(); i++) {
hmap1.put(al.get(i).toString(), al1.get(i).toString().replaceAll("%", ""));
}
for (Map.Entry m : hmap1.entrySet()) {
System.out.println(m.getKey() + " : " + m.getValue());
}
解决方案
使用以下代码:
List<String> keys = Arrays.asList("One","two");
List<String> values = Arrays.asList("1%","2%");
// 在这里获取您的列表(我只是假设您的两个列表具有相同的大小)
Map<String, Double> hMap = new HashMap<>();
for (int i = 0; i < keys.size(); i++) {
String key = keys.get(i);
String value = values.get(i).isEmpty() ? "0" : values.get(i).replaceAll("%", "");
Double valueInDouble = Double.valueOf(value);
hMap.put(key, valueInDouble);
}
然后打印它你会得到你想要的输出:
for (Map.Entry m : hMap.entrySet()) {
System.out.println(m.getKey() + " : " + m.getValue());
}
您必须将键映射为字符串,将值映射为 Double。
希望对您有所帮助。
推荐阅读
- c# - 如何超时执行功能
- here-api - 当 Here Map 上的默认 PositionIndicator 为绿色或灰色时。颜色取决于什么?
- python - 尽管级别是一致的,为什么 python 期望我的 elif 语句缩进?
- twitter-bootstrap - Bootstrap 列在折叠时垂直堆叠
- html - 如何在 VS 代码拆分属性中阻止 Prettier 到多行?
- javascript - 如何获取使用 Windows-1251 的文件的 base 64 编码
- arrays - 在我的 Angular html 模板中安全加载数组时遇到问题
- c# - 有没有办法“告诉” IntelliSense 和编译器该类实现了接口而不实际实现它?
- angular - 鼠标离开时关闭材质对话框(角度材质)
- ruby-on-rails - 无法使用 image_tag 调整图像大小(rails activestorage)