Contents
18.4. 自定义泛型类¶
1.队列数据结构
package com.a51cto;
import java.util.ArrayList;
import java.util.List;
//自定义的泛型队列集合
//T是参数类型占位符
public class Queue<T> {
public static void main(String[] args) {
// 实例化这个Queue类
Queue<String> duilie1 = new Queue<String>();
// 元素入队
duilie1.queue("hujianli1");
duilie1.queue("hujianli2");
duilie1.queue("hujianli3");
System.out.println(duilie1);
// 元素出队
duilie1.dequeue();
System.out.println(duilie1);
}
// 声明保存队列元素集合items
// T是参数类型占位符
private List<T> items;
// 构造方法初始化是集合items
public Queue() {
// TODO 自动生成的构造函数存根
this.items = new ArrayList<T>();
}
/**
* 入队方法
* @param item 参数需要入队的元素
*/
public void queue(T item) {
this.items.add(item);
}
/**
* 出队方法
* @return 返回出队的元素
*/
public T dequeue() {
if (items.isEmpty()) {
return null;
} else {
return this.items.remove(0);
}
}
@Override
public String toString() {
// TODO 自动生成的方法存根
return items.toString();
}
}
/*
* [Hujianli1, hujianli2, hujianli3]
* [hujianli2, hujianli3]
*/