JAVA泛型详解(三)---一个创建常用容器对象的泛型工具类

import java.util.*;
public class ContainerTool{
	//定义泛型方法,只需要将泛型参数列表置于返回值之前
	public static <K,V> Map<K,V> map(){
		return new HashMap<K,V> ();
	}
	public static <T> List<T> list(){
		return new ArrayList<T> ();
	}
	public static <T> LinkedList<T> lList(){
		return new LinkedList<T> ();
	}
	public static <T> Set<T> set(){
		return new HashSet<T> ();
	}
	public static <T> Queue<T> queue(){
		return new LinkedList<T> ();
	}
	public static void main(String []args){
		//测试Map
		Map<String,List<String>> mList=ContainerTool.map();
		mList.put("Shape", Arrays.asList("Circle","Square","Triangle"));
		mList.put("Anaimal", Arrays.asList("Dog","Cat","mouse"));
		mList.put("Country", Arrays.asList("China","America","Russia"));
		System.out.println("Map key:  "+mList.keySet());//打印Map的key值
		System.out.println("Map values:  "+mList.values());//打印Map的value
		for(String key:mList.keySet()){
			System.out.print(key+"  has: ");
			for(String value:mList.get(key)){//通过get方法获得Map的每一个Key所对应的value
				System.out.print("    "+value);
			}
			System.out.println();//换行
		}
		System.out.println("--------------------------------------------");
		//测试List
		List<String> list=ContainerTool.list();
		list.addAll(Arrays.asList("dog","dog","cat","mouse","China"));
		System.out.println("print List:  "+list);
		System.out.println("--------------------------------------------");//换行
		//测试set
		Set<String> set=ContainerTool.set();
		set.addAll(Arrays.asList("dog","dog","cat","mouse","China"));
		System.out.println("print Set:   "+set);
		System.out.println("--------------------------------------------");
		
	}
}


     测试结果如下:



版权声明:本文为a1091220321原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。