У меня возникают проблемы с очередью в моей программе, где она запрашивает у пользователя ввод слова, а программа сохраняет каждую букву в очередь. Когда я выводю содержимое очереди, буквы все скремблируются. Это происходит с большинством слов. Например, когда я ввожу «гоночный автомобиль», очередь будет отображаться как [a, c, a, r, e, c, r], а не [r, a, c, e, c, a, r]. Любая идея, почему это происходит?Элементы очереди скремблированы, а не в порядке
import java.util.Scanner;
import java.util.*;
public class WordQueue
{
public static void main(String arg[])
{
while(true){
String phrase;
int phraselength;
PriorityQueue queue = new PriorityQueue();
Scanner sc = new Scanner(System.in);
System.out.println("Enter a word/phrase");
phrase = sc.nextLine();
phrase = phrase.replaceAll("\\p{Punct}|\\d",""); //remove all punctuation
phraselength = phrase.length(); //get length of phrase
System.out.println(phraselength);
for(int x = 0; x <= phraselength-1; x++) //store each letter
{ //in queue
queue.offer(phrase.charAt(x));
}
System.out.println("");
System.out.printf("%s ", queue); //output queue
}
}
}
Из [Javadoc] (http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html) на 'PriorityQueue': элементы очереди приоритетов упорядочены в соответствии с их естественный порядок. – GriffeyDog