我在地图中有以下值
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);
---------------------
---------------------
但我不知道如何获得上述格式...
答案 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);