有没有办法跳过迭代器中的第一个条目?

时间:2011-04-26 22:59:26

标签: java

我有一些java代码,它接受一个html表并将其转换为Iterator,我使用while循环来解析并添加到数据库。我的问题是表的标题导致我遇到问题,而我正在看我(因为它没有通过我的数据质量检查)。有没有办法跳过第一行?

Iterator HoldingsTableRows = HoldingsTableRows.iterator();


    while (HoldingsTableRows.hasNext()) {

}

我可以获取变量的内容,如果匹配,我可以突破循环,但我正在尝试避免硬编码任何特定于标题名称的内容,因为如果标题的名称发生更改,则会破坏我的应用程序

请帮忙!

谢谢!

2 个答案:

答案 0 :(得分:31)

您需要做的就是在开始while循环之前调用.next()一次。

Iterator HoldingsTableRows = HoldingsTableRows.iterator();

//This if statement prevents an exception from being thrown
//because of an invalid call to .next()
if (HoldingsTableRows.hasNext())
    HoldingsTableRows.next();

while (HoldingsTableRows.hasNext())
{
    //...somecodehere...
}

答案 1 :(得分:3)

调用next()一次以丢弃第一行。

Iterator HoldingsTableRows = HoldingsTable.iterator();

    // discard headers
    HoldingsTableRows.next();
    // now iterate through the rest.
    while (HoldingsTableRows.hasNext()) {

}