List常用遍历
已创建List<String> l
1.基础遍历,通过get(index)
方法
for (int i = 0; i < l.size(); i++) {
l.get(i);
}
2.通过Iterator接口
Iterator<String> iterator = l.iterator();
while (iterator.hasNext()) {
iterator.next();
}
3.for语法糖,底层通过迭代器实现的
for(String s:l)
{
...
}
4.java8新增的forEach(),因为Collection继承了Iterable 接口,forEach内可以是一个lambda表达式。
l.forEach(item -> {});
Stack
继承Vector,Vector实现了List接口,可以通过List的方法遍历。
1.弹出遍历
void test2() {
while (!stack.empty()) {
System.out.println(stack.pop());
}
}
Map常用遍历
1.通过键Set遍历
void test1() {
Set<String> keySet = map.keySet();
for (Iterator<String> iterator = keySet.iterator(); iterator.hasNext();) {
String key = iterator.next();
Integer value = map.get(key);
System.out.println(key + ":" + value);
}
}
2.通过entrySet()遍历,entrySet是Map里的内部类实现了Set接口,保存是键值。
void test2() {
Set<Entry<String, Integer>> entrySet = map.entrySet();
Iterator<Entry<String, Integer>> iterator = entrySet.iterator();
while (iterator.hasNext()) {
Entry<String, Integer> entry = iterator.next();
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println(key + ":" + value);
}
}
3.遍历值,values()方法返回一个collection对象。
void test3()
{
for(Integer i:map.values())
{
System.out.println(i);
}
}