Java泛型的使用(在Set和Map集合中使用泛型)

集合類型後面會有<E>,如:Collection<E>、List<E>、AeeayList<E>、Set<E>、Map<E>。

尖括號中的E、K、V等是類型參數名稱,他們是實際類型的佔位符。

代碼示例

import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

//在Set和Map集合中使用泛型
public class GenericSet {

	public static void main(String[] args) {
	
		//測試Set泛型集合
		System.out.println("測試Set泛型集合");
		testSet();
		
		//測試Map泛型集合
		System.out.println("測試Map泛型集合");
		testMap();
	}
	
	//測試Set泛型集合方法
	private static void testSet() {
		Set<String> set = new HashSet<String>();
		//向集合中添加元素
		set.add("1");
		set.add("2");
		set.add("3");
		
		//1、使用for-each循環遍歷
		for(String item:set){
			System.out.println("讀取集合元素:"+item);
		}
		
		//2、使用迭代器遍歷
		System.out.println("使用迭代器遍歷");
		Iterator<String> it = set.iterator();
		while (it.hasNext()) {
			String item =  it.next();
			System.out.println("讀取集合元素:"+item);
		}
		
	}
	
	//測試Map泛型集合方法
	private static void testMap() {
		Map<Integer, String> map = new HashMap<Integer,String>();
		map.put(102, "張三");
		map.put(102, "李四");
		map.put(102, "挖煤火舞");
		map.put(102, "趙六");
		
		//1、使用for-each循環遍歷
		System.out.println("使用for-each循環遍歷");
		//獲取鍵集合
		Set<Integer> keys = map.keySet();
		for(Integer key:keys){
			String value = map.get(key);
			System.out.printf("key=%d - value%s \n",key,value);
		}
		
		//2、使用迭代器遍歷
		System.out.println("使用迭代器遍歷");
		//獲得鍵值集合
		Collection<String> values = map.values();
		//遍歷值集合
		Iterator<String> it = values.iterator();
		while (it.hasNext()) {
			String item = it.next();
			System.out.println("值集合元素:"+item);
		}
	}

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章