package com.sitinpsring;
import java.util.ArrayList;
import java.util.List;

/** *//**
* 泛型类示例一,成员变量为链表,T可以指代任意类类型.
* @author sitinspring
*
* @date 2007-12-28
*/
public class Service<T>
{
// 元素为T的链表
private List<T> elements;

/** *//**
* 构造函数,这里无须指定类型
*
*/
public Service()
{
elements=new ArrayList<T>();
}

/** *//**
* 向链表中添加类型为T的元素
* @param element
*/
public void add(T element)
{
elements.add(element);
}

/** *//**
* 打印链表中元素
*
*/
public void printElements()
{
for(T t:elements)
{
System.out.println(t);
}
}

/** *//**
* 使用示例
* @param args
*/
public static void main(String[] args)
{
// 创建Service类的示例memberService
Service<Member> memberService=new Service<Member>();
// 向memberService中添加元素
memberService.add(new Member("Andy",25));
memberService.add(new Member("Bill",24));
memberService.add(new Member("Cindy",55));
memberService.add(new Member("Felex",35));
// 打印memberService中诸元素
memberService.printElements();
}
}泛型类示例二:
package com.sitinpsring;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;

/** *//**
* 泛型类示例二,成员变量为哈希表,k,v可以指代任意类类型.
* @author sitinspring
*
* @date 2007-12-28
*/
public class ServiceHt<K,V>
{
private Map<K,V> elements;

/** *//**
* 向elements中添加元素
* @param k
* @param v
*/
public void add(K k,V v)
{
// 如果elements为空则创建元素
if(elements==null)
{
elements=new Hashtable<K,V>();
}
// 向elements中添加键值对
elements.put(k, v);
}

/** *//**
* 打印哈希表中的元素
*
*/
public void printElements()
{
Iterator it=elements.keySet().iterator();

while(it.hasNext())
{
K k=(K)it.next();
V v=elements.get(k);
System.out.println("键="+k+" 值="+v);
}
}

/** *//**
* 使用示例
* @param args
*/
public static void main(String[] args)
{
// 创建Service类的示例memberService
ServiceHt<String,Member> memberService=new ServiceHt<String,Member>();
// 向memberService中添加元素
memberService.add("Andy",new Member("Andy",25));
memberService.add("Bill",new Member("Bill",24));
memberService.add("Cindy",new Member("Cindy",55));
memberService.add("Felex",new Member("Felex",35));
// 打印memberService中诸元素
memberService.printElements();
}
}成员类:
package com.sitinpsring;

/** *//**
* 成员类
* @author sitinspring
*
* @date 2007-12-28
*/
public class Member
{
private String name;
private int age;

public Member(String name,int age)
{
this.name=name;
this.age=age;
}

public String toString()
{
return "Name="+name+" Age="+age;
}

public int getAge()
{
return age;
}

public void setAge(int age)
{
this.age = age;
}

public String getName()
{
return name;
}

public void setName(String name)
{
this.name = name;
}
}