我想将键值检索为String,将值检索为Double(注意:删除%sign后,可以将值存储为Double)



这是我的基类代码,我想将键值检索为String,将Values值检索为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());
}

您必须将键映射为String,将值映射为Double
希望对你有帮助。

最新更新