package cn.breeziness123.collection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
/**
* 遍历各种容器的方法 List Set Map
*
* @author breeziness
*
*/
public class TestSearchCollection {
public static void main(String[] args) {
// 遍历List
System.out.println("########遍历List###########");
List<String> lt = new ArrayList<>();
lt.add("第一个");
lt.add("第二个");
lt.add("第三个");
// 普通的for循环
System.out.println("##########for循环##########");
for (int i = 0; i < lt.size(); i++) {
String result = lt.get(i);
System.out.println(result);
}
System.out.println("##########增强for循环##########");
// 增强的for循环
for (String result_1 : lt) {
System.out.println(result_1);
}
System.out.println("#########迭代器方式###########");
// 第一种迭代器方式
Iterator iterator = lt.iterator();
while (iterator.hasNext()) {
Object object = iterator.next();// 迭代器的返回是一个Object对象
// iterator.remove();可以在这里删除
System.out.println(object);
}
// 第二种迭代器方式
for (Iterator<String> iter = lt.iterator(); iter.hasNext();) {
String result_2 = iter.next();
System.out.println(result_2);
}
// 遍历Set
System.out.println("########遍历Set##########");
Set<String> mySet = new HashSet<>();
mySet.add("1");
mySet.add("2");
mySet.add("3");
// for循环
for (String result_3 : mySet) {
System.out.println(result_3);
}
// 迭代器方式
for (Iterator<String> iter2 = mySet.iterator(); iter2.hasNext();) {
String result_4 = iter2.next();
System.out.println(result_4);
}
System.out.println("#######遍历Map##########");
Map<Integer, String> myMap = new HashMap<>();
myMap.put(1, "first");
myMap.put(2, "second");
myMap.put(3, "thirt");
// for循环的方法
Set<Integer> key = myMap.keySet();
for (Integer id : key) {
System.out.println(myMap.get(id));
}
// entrySet的
Set<Entry<Integer, String>> ss = myMap.entrySet();
for (Iterator iter3 = ss.iterator(); iter3.hasNext();) {
Entry e = (Entry) iter3.next();
// ystem.out.println(e.getKey()+"--"+e.getValue());
System.out.println(e.getValue());
}
}
}