HashMap是无序的,插入的顺序和最后遍历输出的顺序不同。实验代码如下:
import javax.xml.bind.SchemaOutputResolver;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import static java.util.Objects.hash;
/**
* @author huql
* date 2019/10/14 15:47
* 类说明:
*/
public class Test {
public static void main(String[] args)
{
Map<String, String> test = new HashMap<>(9);
test.put("化学","93");
test.put("数学","98");
test.put("生物","92");
test.put("英语","97");
test.put("物理","94");
test.put("历史","96");
test.put("语文","99");
test.put("地理","95");
for (Map.Entry entry : test.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
}
}
实验结果如下:
如果想让有序的话,可以用LinkedHashMap:
import javax.xml.bind.SchemaOutputResolver;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import static java.util.Objects.hash;
/**
* @author huql
* date 2019/10/14 15:47
* 类说明:
*/
public class Test {
public static void main(String[] args)
{
Map<String, String> test = new LinkedHashMap<>(9);
test.put("化学","93");
test.put("数学","98");
test.put("生物","92");
test.put("英语","97");
test.put("物理","94");
test.put("历史","96");
test.put("语文","99");
test.put("地理","95");
for (Map.Entry entry : test.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
}
}
结果如下: