相关疑难解决方法(0)

Java不可变队列

在下面的代码中,我有两个链接列表liperm和litemp.我想首先使用liperm的值初始化litemp,然后添加其他值.但它不起作用,因为它没有初始化它们.你能帮忙吗?

public class ExamImmutableQueueImpl<E> implements ExamImmutableQueue<E> {

   LinkedList<E> liperm = new LinkedList<E>();
   LinkedList<E> litemp = new LinkedList<E>(liperm);

   public ExamImmutableQueueImpl(LinkedList li){
       System.out.println(li.toString());
   }

   public ExamImmutableQueueImpl(){}

@Override
   public ExamImmutableQueue<E> enqueue(E e) {
       System.out.println(litemp.toString());
       litemp.add(e);

       return new ExamImmutableQueueImpl<>(litemp);
   }

   public final void setQueue(E e){
       liperm.add(e);


   }

   public void getQueue(){
       System.out.println(litemp.toString());
   }





}
Run Code Online (Sandbox Code Playgroud)

主要方法是:

public static void main(String args[]){
    ExamImmutableQueueImpl<Integer> o1 = new ExamImmutableQueueImpl<Integer>();
    ExamImmutableQueue<Integer> obj;
    o1.setQueue(2);
    o1.setQueue(1);
    o1.setQueue(2);
    o1.setQueue(3);
    obj = o1.enqueue(6);
Run Code Online (Sandbox Code Playgroud)

界面是:

public interface ExamImmutableQueue<E> {
public ExamImmutableQueue<E> enqueue(E e);}
Run Code Online (Sandbox Code Playgroud)

java immutability

0
推荐指数
1
解决办法
7413
查看次数

标签 统计

immutability ×1

java ×1