场景:将对着List编写的代码应用到Set中,不修改代码
创建一个display方法,不必知晓容器的确切类型。
package com.yjq.collection;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class TestIterator {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("bc");
list.add("c");
TestIterator.display(list.iterator());
Set<String> set = new HashSet<String>();
set.add("aa");
set.add("bb");
set.add("cc");
TestIterator.display(set.iterator());
}
public static void display(Iterator<String> iter) {
System.out.print("display: ");
while(iter.hasNext()) {
System.out.print(iter.next() + " ");
}
System.out.println();
}
}
//output
display: abc bc c
display: aa bb cc