TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
泛型类示例一:
package
com.sitinpsring;
import
java.util.ArrayList;
import
java.util.List;

/** */
/**
* 泛型类示例一,成员变量为链表,T可以指代任意类类型.
* @author sitinspring
*/

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);
} }
public static void main(String[] args) {
// 创建Service类的示例memberService
Service<Member> memberService=new Service<Member>();
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<K> it=elements.keySet().iterator();
while(it.hasNext()) {
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;
}
}
运行结果:
C:kk>javac -d . *.java C:kk>java com.sitinpsring.Service
Name=Andy Age=25
Name=Bill Age=24
Name=Cindy Age=55
Name=Felex Age=35 C:kk>java com.sitinpsring.ServiceHt
键=Cindy 值=Name=Cindy Age=55
键=Andy 值=Name=Andy Age=25
键=Bill 值=Name=Bill Age=24
键=Felex 值=Name=Felex Age=35
源码下载:http://file.javaxxz.com/2014/10/30/235632609.zip |
|