Java泛型类示例

Java泛型类示例

泛型类示例一:
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;
    }

}

你可能感兴趣的:(Java泛型类示例)