JAVA编写一个名为MyQueue的泛型接口,实现add、remove和poll三个泛型方法,用于存储任意类型的数据。请给出测试类和测试结果。
时间: 2024-04-29 13:27:11 浏览: 94
好的,我理解了您的要求。以下是Java编写的MyQueue泛型接口和测试类:
```java
import java.util.LinkedList;
public interface MyQueue<T> {
void add(T item);
T remove();
T poll();
}
class MyQueueImpl<T> implements MyQueue<T> {
private LinkedList<T> queue = new LinkedList<>();
public void add(T item) {
queue.addLast(item);
}
public T remove() {
return queue.removeFirst();
}
public T poll() {
return queue.poll();
}
}
public class MyQueueTest {
public static void main(String[] args) {
MyQueue<Integer> queue = new MyQueueImpl<>();
queue.add(1);
queue.add(2);
queue.add(3);
System.out.println("Remove: " + queue.remove());
System.out.println("Poll: " + queue.poll());
System.out.println("Remove: " + queue.remove());
System.out.println("Poll: " + queue.poll());
System.out.println("Poll: " + queue.poll());
}
}
```
上述代码中,MyQueue是一个泛型接口,有三个泛型方法:add、remove和poll,用于存储任意类型的数据。MyQueueImpl是实现了接口的泛型类,使用LinkedList来存储数据。MyQueueTest是一个测试类,使用MyQueueImpl实现了队列,存储了三个整数,并分别测试了remove、poll方法的效果。
测试结果如下:
```
Remove: 1
Poll: 2
Remove: 3
Poll: null
Poll: null
```
这个结果表明,remove方法可以正确地弹出队列中的第一个元素。poll方法则返回第一个元素或者null,具体看队列里是否还有元素。
阅读全文