1. 程式人生 > >Java遍歷各種容器的方法

Java遍歷各種容器的方法

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());
		}
	}
}