在java中将地图转换为特定格式的arraylist

时间:2013-11-08 12:29:13

标签: java arraylist

我在地图中有以下值

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);
---------------------
---------------------

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

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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());
    }

答案 2 :(得分: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);