java - 如何从 ArrayList 中获取最大值
问题描述
我试图获得产品的最高价格。我能够将价格存储在一个对象中。我想知道如何从该对象中获取最大值。下面是我的代码!
public class amazon {
static WebDriver driver;
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.chrome.driver", "C://Selenium/chromedriver.exe");
driver = new ChromeDriver();
driver.get("xyzzz.com");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
amazon az = new amazon();
az.run();
}
public void run() throws Exception {
List<Object> obj = new ArrayList<Object>();
List<WebElement> tag = driver.findElements(By.xpath("//span[@class='a-price-whole']"));
int i;
for(i=0; i<tag.size(); i++) {
obj.add(tag.get(i).getText());
}
System.out.println(obj);
driver.close();
}
输出我有..
[64,900, 99,900, 1,23,900, 64,900, 64,900, 69,900, 64,900, 64,900, 1,23,900, 52,900]
解决方案
将字符串映射到整数(或长整数,或某种货币),然后您可以使用比较器获得最大值
int max = driver.findElements(By.xpath("//span[@class='a-price-whole']")).stream()
.map(WebElement::getText)
.map(s -> s.replace(",", ""))
.map(Integer::parseInt)
.max(Integer::compare)
.get();
推荐阅读
- javascript - 如何将表格行映射为打字稿中不同接口的潜在行?
- python - 向 pandas 数据框添加一个新列,其中包含组内的递增日期
- python - ValueError:无法将 mmap 的 dtype 上的空文件映射为 str
- javascript - JsPDF - 根据标签值更改文件名以下载 PDF
- python - 在不覆盖数据的情况下向现有 excel 文件添加新行(Python)
- html - 如何制作滤镜:没有一个元素的灰度(CSS)
- php - 在 PhpStorm 中找不到 Php 可执行文件
- r - 过滤掉两个值之间的行
- firebase - Firebase 电话授权 - 短信格式错误
- postgresql - 有没有办法用 postgre sql 配置 ibm 业务自动化?