Java 填充队列

Java 填充队列,java,Java,我不知道如何用没有队列参数的方法填充我的类。这很难解释 package com.company; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; public class Phrase { private Queue queue = new LinkedList(); public Phrase(Queue queue) { this.q

我不知道如何用没有队列参数的方法填充我的类。这很难解释

package com.company;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Queue;

public class Phrase {
    private Queue queue = new LinkedList();

    public Phrase(Queue queue)
    {
        this.queue = queue;
    }

    public void enqueue(Bigram b)
    {
        this.queue.add(b);
    }

    public Bigram dequeue()
    {
       return (Bigram)queue.poll();
    }

    public Bigram peak()
    {
        return peak();
    }

    public int size()
    {
        return queue.size();
    }

    public boolean isEmpty()
    {
        if(queue.peek() != null)
            return true;
        else
            return false;
    }

    public static Phrase buildPhraseFromString(String s)
    {
        s = s.replaceAll("\\s+","");
        ArrayList<Character> sArray = new ArrayList<>();
        for(int i = 0; i < s.length(); i++)
        {
            sArray.add(s.charAt(i));
        }
        Queue<Bigram> queue = new LinkedList<>();
        Phrase phrase = new Phrase(queue);
        int i = 0;
        while(i + 2 <= sArray.size())
        {
            Bigram b = new Bigram(sArray.get(i),sArray.get(i+1));
            if(sArray.get(i) == sArray.get(i+1))
            {
                sArray.add(i+1,'X');
                b = new Bigram(sArray.get(i),sArray.get(i+1));
                System.out.println(sArray.toString());

            }
            i = i + 2;
            queue.add(b);
        }
        if(i != sArray.size())
        {
            Bigram b = new Bigram(sArray.get(sArray.size()-1),'X');
            queue.add(b);
        }
        System.out.println(queue.toString());
        while(!queue.isEmpty()) {
            phrase.enqueue(queue.remove());
            queue.remove();
        }
        System.out.println(phrase.toString() + "DSADASD");
        return phrase;
    }

    public String toString()
    {
        return queue.toString();
    }
    /*

    public Phrase encrypt(KeyTable key)
    {

    }

    public Phrase decrypt(KeyTable)
    {

    }


     */

}

我是专门谈论排队的方法。我被告知只留下Bigram作为我的参数。那么我该如何更新我的短语呢?不将队列作为参数。我通常会创建一个方法,该方法将队列中的参数作为参数,并将Bigram作为参数。

您能详细说明一下吗?你到底想实现什么?我正试图将包含birgram对象的队列添加到短语中,不知为什么,但当我打印出
phrase.toString()
时,它是队列的精确副本。不过我还没有添加任何内容
package com.company;

public class Bigram{

    private char first, second;
    public Bigram(char first, char second)
    {
        this.first = first;
        this.second = second;
    }

    public char getFirst()
    {
        return this.first;
    }
    public void setFirst(char first)
    {
        this.first = first;
    }

    public char getSecond()
    {
        return this.second;
    }
    public void setSecond(char second)
    {
        this.second = second;
    }

    public String toString()
    {
        return String.valueOf(first) + String.valueOf(second);
    }
}