List常用遍歷
已創(chuàng)建List<String> l
1.基礎(chǔ)遍歷,通過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語法糖,底層通過迭代器實(shí)現(xiàn)的
for(String s:l)
{
...
}
4.java8新增的forEach(),因?yàn)镃ollection繼承了Iterable 接口匾荆,forEach內(nèi)可以是一個lambda表達(dá)式。
l.forEach(item -> {});
Stack
繼承Vector,Vector實(shí)現(xiàn)了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里的內(nèi)部類實(shí)現(xiàn)了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);
}
}