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]
 */