SetとMapを行ったり来たり
下記のプログラムを書いて,オブジェクト set と set2 の中身を iterator で順次出力した結果,同じ順番で文字列が表示されたけれど,この結果はあらゆる Java の実装系で同一と保証されているのだろうか?
import java.io.*; import java.util.Set; import java.util.HashSet; import java.util.Map; import java.util.HashMap; import java.util.Iterator; public class tmp { public static void main(String[] args){ Set<String> set = new HashSet<String>(); set.add("AAA"); set.add("BBB"); set.add("CCC"); set.add("DDD"); set.add("EEE"); set.add("FFF"); Map<String,Integer> map = new HashMap<String,Integer>(); Iterator it; it = set.iterator(); int counter = 0; while(it.hasNext()){ String s = (String)it.next(); System.out.println(s); map.put(s, new Integer(counter+1)); } Set set2 = map.keySet(); it = set2.iterator(); while(it.hasNext()){ String s = (String)it.next(); System.out.println(s); } } }