-4

我在地图中有以下值

john smith=mr  
kim taylor=prof   
shannon sperling=miss  

我想在arraylist中转换成以下格式

mr | john smith  
prof | kim taylor  
miss | shannon sperling

我尝试使用以下代码

--------------------
---------------------
Map<String, String> title = gluetitles(titles);
        ArrayList<Entry> list1 = new ArrayList<Entry> (title.entrySet());
        System.out.println(list1);
---------------------
---------------------

但我不知道如何获得上述格式......

4

3 回答 3

1

好吧,我不确定您的目标到底是什么,但这会输出比您拥有的更接近您想要的东西(据我了解您的目标)。

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test {
    public static void main(String[] args) {
        Map<String, String> hm = new HashMap<>();
        hm.put("john smith", "mr");
        hm.put("kim taylor", "prof");
        hm.put("shannon sperling", "miss");
        List<String> list = new ArrayList<String>();
        for (String key : hm.keySet())
            list.add(hm.get(key) + " | " + key);
        for (String s:list)
            System.out.println(s);
    }

}

这将打印出:

miss | shannon sperling
prof | kim taylor
mr | john smith
于 2013-11-08T12:39:24.173 回答
0

这可能会帮助你

    Map<String,String> map=new HashMap<>();
    List<String> list=new ArrayList<>();

    for (Map.Entry<String,String> i:map.entrySet()){
           list.add(i.getValue()+" | "+i.getKey());
    }
于 2013-11-08T12:34:10.927 回答
0

您需要自己处理格式:

Map<String, String> title = gluetitles(titles);
List<String> list = new ArrayList<String> (title.size());
for (Map.Entry <String, String> entry: title.entrySet()) {
    list.add (title.getValue() + " | " + title.getKey();
}
System.out.println(list);
于 2013-11-08T12:34:53.260 回答