迭代Java中的双重集合

时间:2014-06-27 14:26:07

标签: java collections arraylist iterator hashtable

我是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();
  }

}

2 个答案:

答案 0 :(得分:1)

while(itrL.hasNext()){  
    Object elementL = itrL.next(); 
    while(itrN.hasNext()){
        Object elementN = itrN.next();
        boolean result = elementL.equals(elementN);
        System.out.println(result);
        System.out.println(elementL + " ");
        System.out.println(elementN + " ");
    }
    itrN = alNumbers.iterator();
}

答案 1 :(得分:0)

尝试以下方法:

while(itrL.hasNext()){  
    Object elementL = itrL.next(); 
    Iterator itrN = alNumbers.iterator(); 
    while(itrN.hasNext()){
        Object elementN = itrN.next();
        boolean result = elementL.equals(elementN);
        System.out.println(result);
        System.out.println(elementL + " ");
        System.out.println(elementN + " ");
    }
}