我有一个列表,我将其转换为地图来做一些工作。之后,我再次将地图转换回列表,但这次顺序是随机的。我需要在我的第二个列表中保留相同的初始订单。
显而易见的原因是 HashMap 不保持顺序。但我需要做一些事情才能做到这一点。我无法更改地图实现。我该怎么做?
考虑给定的代码:
import java.util.*;
public class Dummy {
public static void main(String[] args) {
System.out.println("Hello world !");
List<String> list = new ArrayList<String>();
list.add("A");list.add("B");list.add("C");
list.add("D");list.add("E");list.add("F");
Map<String,String> map = new HashMap<String, String>();
for(int i=0;i<list.size();i=i+2)
map.put(list.get(i),list.get(i+1));
// Use map here to do some work
List<String> l= new ArrayList<String>();
for (Map.Entry e : map.entrySet()) {
l.add((String) e.getKey());
l.add((String) e.getValue());
}
}
}
例如 - 最初,当我打印列表元素时,它打印出来
A B C D E F
现在,当我打印 的元素时List l
,它打印出
E F A B C D