在java中切片列表

时间:2015-06-22 11:30:58

标签: java list selenium-webdriver

我有一个从selenium-webdriver获得的列表:

List<WebElement> allElements = driver.findElements(By.xpath(""));

现在我想获得前6个元素并打印出来。

4 个答案:

答案 0 :(得分:4)

另一种简洁的方法是使用Java 8中的streams

List<WebElement> subElements = allElements.stream().limit(6).collect(Collectors.toList());

答案 1 :(得分:1)

使用条件来检查for循环迭代,例如,

int i=1;
for(WebElement element: allElements){
if(i==6)
break; //break the loop
system.out.println(""+element.getText());
i++;
}

答案 2 :(得分:1)

有多种方式,其中一种方式如下:

for(int i=0; i < 6; i++) {
    WebElement element =  allElements.get(i);
    }

答案 3 :(得分:1)

您可以使用List#sublist()

System.out.println(allElements.subList(0, 6));

或者,既然你正在使用Webdriver,你也有Google Guava(它是一个传递依赖),所以Iterables.limit()也可以工作,它可以说更具可读性,并且当列表太短时不会失败:

System.out.println(Iterables.limit(allElements, 6));