JAVA泛型详解(三)---一个创建常用容器对象的泛型工具类
2014-04-19 14:35
387 查看
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("--------------------------------------------");
}
}
测试结果如下:
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("--------------------------------------------");
}
}
测试结果如下:
相关文章推荐
- java创建一个对象获取泛型的class
- 无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)
- JAVA泛型应用-获取容器运行时的泛型Class对象
- C++制作一个泛型容器(可以盛放各种类型的对象)
- java 创建一个Class的对象来获取泛型的class
- OpenCv学习笔记(四)--Mat基本图像容器Mat对象信息头,矩阵体的创建,深复制,浅复制详解
- 4.3常用对象API-集合框架(Collection,Map,泛型,集合工具类)
- 如何创建一个UIImageView对象去显示图片
- 使用JavaScript创建一个字符串对象
- 创建一个Object()对象
- Powershell小技巧之创建一个新对象
- 【Java】StringUtils工具类常用方法详解
- 李洪强iOS开发之OC[008] -创建一个对象并访问实例变量
- ADO.NET常用对象详解之:DataReader对象
- JS创建对象的7种常用模式
- 根据泛型的类型,创建泛型类型的集合对象
- TextBox是一个容器类型的对象
- Gallery与衍生BaseAdapter容器创建图片预览详解
- java创建对象的几种常用方法
- 在spring 中如果使用new创建一个对象时 这个对象将不在受spring管理器管理