【发布时间】:2015-08-06 02:17:56
【问题描述】:
这个问题更多的是关于最佳实践,而不是从列表中获取元素。
我有一个 ArrayList,但我通过使用一个简单的 for 循环来迭代它。如果出现某个关键字,我需要将下一个树元素与某个模式进行比较。
private static boolean areVectorArgumentsValid(ArrayList<String> fileContent)
{
for (int i=0; i<fileContent.size(); i++)
{
if (fileContent.get(i).equals(NORMAL) || fileContent.get(i).equals(VERTEX))
{
// get the next three elements of "fileContent" and see if they match a certain pattern
}
}
return true;
}
我的第一种方法是在实际的外部循环中使用另一个 for 循环,然后将 i 增加 3:
for (int j=i+1; j<=i+3; j++)
{
if (!fileContent.get(j).matches(PATTERN))
{
return false;
}
}
i+=3;
如您所见,让方法做我想做的事情并不难,但是...我不确定是否有一种方法可以让您称之为更优雅.
【问题讨论】: