请问一个java的map有关问题
请教一个java的map问题
我期望的输出是:one翻译:一
two翻译:二
three翻译:三
但实际情况是two翻译:二
one翻译:一
three翻译:三
源代码如下:请帮忙看下,多谢!
------解决方案--------------------
HashMap是无序的。
应该用是LinkedHashMap.
这个是按顺序。
或者用TreeMap进行排序。
------解决方案--------------------
如果是用TreeMap按你说的one two three 排序要自定义规则,而且这个规则不好定。
直接用LinkedHashMap,插入时按插入顺序就固定了位置。
我期望的输出是:one翻译:一
two翻译:二
three翻译:三
但实际情况是two翻译:二
one翻译:一
three翻译:三
源代码如下:请帮忙看下,多谢!
- Java code
import java.util.*; public class Ex20{ public static void main(String[] args){ String[] en={"one","two","three"}; String[] ch={"一","二","三"}; Map<String,String> map = new HashMap<String, String>(); for(int i=0;i<en.length;++i){ map.put(en[i], ch[i]); } for(Map.Entry<String, String> obj:map.entrySet()){ System.out.println(obj.getKey()+"翻译:"+obj.getValue()); } } }
------解决方案--------------------
HashMap是无序的。
应该用是LinkedHashMap.
这个是按顺序。
或者用TreeMap进行排序。
------解决方案--------------------
如果是用TreeMap按你说的one two three 排序要自定义规则,而且这个规则不好定。
直接用LinkedHashMap,插入时按插入顺序就固定了位置。