对List集合取值,假设有一个List<Object>集合list。
1.Iterator迭代器
Iterator iterator = list.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
2.增强型for循环(for-each循环)
for(Object obj : list) {
// 对obj的操作
}
3.for循环
for(int i = 0 ;i < list.size();i++){
// list.get(i);
}
对Map集合取值,假设有个Map<String, String>集合map。
1.先取keySet,再通过遍历keySet依次找value(最慢的方式)
for (String key : map.keySet()) {
// String value = map.get(key)
}
2.使用Map.entrySet()遍历key-value,最快
for (Map.Entry<String, String> entry : map.entrySet()) {
// Key = entry.getKey()
// Value = entry.getValue()
}
3.使用Iterator迭代器
// 写法1
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
// key = entry.getKey()
// value = entry.getValue()
}
// 写法2
Iterator<Map.Entry<String, String>> iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry<String, String> entry = iter.next();
// Key = " + entry.getKey()
// Value = " + entry.getValue());
}
如果只需要Map集合的键或者值,可以单独使用map.keySet()方法或者map.values()方法。