いくつかの作業を行うためにマップに変換するリストがあります。その後、マップを再度リストに変換しますが、今回は順序がランダムです。2 番目のリストに同じ最初の順序を保持する必要があります。
明らかな理由は、HashMap が順序を維持しないことです。しかし、それができるように何かをする必要があります。Map の実装を変更できません。どうすれば変更できますか?
与えられたコードを考えてみましょう:
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