@Test
public void testHashTable(){
Hashtable<String,String> h = new Hashtable<String,String>();
h.put("1", "first");
h.put("2", "second");
h.put("3", "third");
/**
* 方法1,使用iterator迭代器
*/
for(Iterator it = h.keySet().iterator(); it.hasNext(); ){
String key = (String)it.next();
Object value = h.get(key);
System.out.println(key+" "+value);
}
/**
* 方法2,使用for循环
*/
Set<String> keys = h.keySet();
for(String _key: keys){
System.out.println(_key+" "+h.get(_key));
}
}
上面是整理的两种遍历Hashtable的方式,以防日后忘记。
//迭代时如何删除List中的元素
@Test
public void testIterator(){
List<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
System.out.println(list.size());//2
Iterator<String> it = list.iterator();
while(it.hasNext()){
String str = it.next();
it.remove();
}
System.out.println(list.size());//0
}
有些集合不允许在迭代时删除或修改元素,但是调用Iterator的remove()方法是个安全的做法。