【发布时间】:2012-10-08 12:46:41
【问题描述】:
我有一个存储区域名称的 ArrayList。我想检查此列表以查找任意人是否来自不同地区。如果他们来自不同的地区,我会做出决定。我通过以下代码实现了这一点。注意 area_IdList 和 area_IdListduplicate 本质上是同一个 ArrayList。这段代码是否有效或者任何人都可以建议更有效的代码?提前致谢。
public List<String> area_IdList = new ArrayList<String>();
public List<String> area_IdListduplicate = new ArrayList<String>();
for (int i = 0; i < area_IdList.size(); i++)
{
for (int k = 1; k< area_IdListduplicate.size(); k++)
{
String sa= area_IdListduplicate.get(k);
String sb= area_IdList.get(i);
if (!sa.equalsIgnoreCase(sb))
{
some decision
}
}
}
【问题讨论】:
-
你能更好地解释你想要实现的目标吗?现在,如果他们不是来自同一地区,您正在做出决定!
-
for (int k = i+1;......会更高效
-
@carnal 我编辑了我的问题..抱歉这个错误。我想知道他们是否来自不同的地区
-
@zetsin: k = i +1 将跳过第一个索引 (0) 并在尝试获取最后一个元素时给他 OutOfBoundException(如果它们具有相同的大小)
-
@Carnal:注意 area_IdList 和 area_IdListduplicate 本质上是同一个 ArrayList。正如他的意思,第一个索引(0)不需要比较。如果它们的大小相同,则不会发生 OutOfBoundException