問題如下:Jane有她與朋友關聯的號碼。我必須輸出從喜歡最少的喜歡到最喜歡的朋友。如何輸出地圖的反轉[Java]
我的主要好奇心是如何在輸出時顛倒地圖值的順序。 在我的代碼中,我必須通過Iterator
(我無法直接使用集合)提取值,然後通過在索引0處插入每個連續元素將每個字符串存儲到ArrayList
中。因此,這顛倒了順序我想我會工作。
import java.util.*;
import java.io.*;
import static java.lang.System.*;
public class Friends {
public static void main(String args[]) throws IOException
{
Scanner line = new Scanner(new File("friends.dat"));
int trials = line.nextInt();
for(int k = 0 ; k < trials ; k++)
{
TreeMap<Integer, String> m = new TreeMap<Integer,String>();
int subtrials = line.nextInt();
for(int a = 0; a < subtrials ; a++)
{
String name = line.next();
int likes = line.nextInt();
m.put(likes,name);
}
Iterator iter = m.values().iterator(); //**Code of interest starts here**
ArrayList<String> list = new ArrayList<String>();
while(iter.hasNext()) {
list.add(0, (String)iter.next());
}
for(int a = 0 ; a < list.size() ; a++)
{
if(a == list.size() - 1)
out.print(list.get(a));
else
out.print(list.get(a) + ", ");
}
out.println();
}
}
}
是的,但它只是作爲等同於指數零添加的每個元素。我希望能夠直接從Map對象輸出。 –
.reverse()比連續插入位置0處的每個元素要有效得多。 – AJNeufeld