【JAVA】HashMap入门到放弃:使用HashMap

摘要:作为HashMap系列学习笔记的开篇,我认为要先熟悉HashMap的使用场景。

==========================================================================================

Map本质上还是属于集合类型的数据结构。

下面的代码段演示了Map的常用操作(CURD),注意遍历Map尽量使用Entry方式。

 1 HashMap<String, Double> scores = new HashMap<>();
 2 
 3         scores.put("Sam", 100.0);
 4         scores.put("Jacky", 50.0);
 5         scores.put("Tim", 80.0);
 6 
 7         System.out.print(scores);
 8 
 9         scores.put("Tim", 100.0);
10         System.out.print(scores);
11         System.out.print(scores.toString());
12 
13         System.out.print(scores.get("Sam"));
14 
15         System.out.println(scores.containsKey("Sam"));
16         System.out.println(scores.containsValue(100.0));
17         
18         //traverse, cost more time
19         Iterator<String> it = scores.keySet().iterator();
20         while(it.hasNext()) {
21             String tmp = it.next();
22             System.out.println(tmp);
23             System.out.println(scores.get(tmp));
24         }
25 
26         System.out.println("count of student:" + scores.size());
27         System.out.println("scores is " + (scores.isEmpty() ? "empty" : "not empty"));
28 
29         //traverse and delete target, cost less
30         Iterator<Map.Entry<String, Double>> begIt = scores.entrySet().iterator();
31         for(; begIt.hasNext(); ) {
32             Map.Entry<String, Double> item = begIt.next();
33 
34             if(item.getValue() == 100.0) {
35                 begIt.remove();
36             }
37         }
38 
39         System.out.println(scores);
40 
41         scores.clear();
42         System.out.println(scores);

 

输出如下:

{Tim=80.0, Jacky=50.0, Sam=100.0}{Tim=100.0, Jacky=50.0, Sam=100.0}{Tim=100.0, Jacky=50.0, Sam=100.0}100.0true
true
Tim
100.0
Jacky
50.0
Sam
100.0
count of student:3
scores is not empty
{Jacky=50.0}
{}

 

PS:实际项目中HashMap用的不多,复杂的操作(如key为HashMap)就不做演示了。

posted @ 2017-11-24 23:55  狂暴的水牛  阅读(267)  评论(0编辑  收藏  举报