【发布时间】:2014-08-18 16:58:03
【问题描述】:
我是一名 Java 初学者,所以请回答可能是愚蠢或琐碎的问题。 我有两个集合(数组列表或哈希表),我想将第一个集合的每个元素与第二个集合的每个元素进行比较。 我编写了以下代码,但这仅将第一个集合的元素 1 与第二个集合的元素 1 进行比较,将第一个集合的元素 2 与第二个集合的元素 2 进行比较,等等,所以我错过了大部分比较我要实现。你能帮帮我吗?
public class IteratorDemo_1 {
public static void main(String args[]) {
// Create two array lists:
ArrayList alLetters = new ArrayList();
ArrayList alNumbers = new ArrayList();
// Add elements to the array lists:
alLetters.add("C");
alLetters.add("B");
alLetters.add("Z");
alLetters.add("X");
alNumbers.add("1");
alNumbers.add("6");
alNumbers.add("3");
alNumbers.add("7");
// Use iterator to display the contents of 'al':
System.out.println("Original contents of 'alLetters': ");
Iterator itrL = alLetters.iterator();
System.out.println("Original contents of 'alNumbers': ");
Iterator itrN = alNumbers.iterator();
while(itrL.hasNext()){
while(itrN.hasNext()){
Object elementL = itrL.next();
Object elementN = itrN.next();
boolean result = elementL.equals(elementN);
System.out.println(result);
System.out.println(elementL + " ");
System.out.println(elementN + " ");
}
}
System.out.println();
}
}
【问题讨论】:
-
为什么是
while(itrN.hasNext()){?你希望它做什么? -
在一个 for each 中使用一个 for each。第一个 for 将遍历您的第一个数组列表,第二个 for 将循环您的第二个数组列表
-
Rahul,虽然对于每个在这种特定情况下的作品,如果 OP 想要在比较期间从列表中删除项目,for each 都会失败。
-
您想比较这两个列表吗?你打算用布尔变量结果做什么?
-
在比较了两个列表的每个元素之后,我想从列表 1 中删除那些出现在列表 2 中的元素。我可以用“for each”来做到这一点吗?
标签: java collections arraylist iterator hashtable