從頭認識java-9.10 Map
這一章節我們來討論一下Map。
Map就是“索引值”關聯陣列。
1.示範
package com.ray.ch09;import java.util.HashMap;import java.util.Random;public class Test {public static void main(String[] args) {HashMap map = new HashMap();Random random = new Random();for (int i = 0; i < 10; i++) {int key = random.nextInt(50);if (map.get(key) == null) {map.put(key, 1);} else {int value = map.get(key);map.put(key, value + 1);}}System.out.println(map.toString());}}
輸出:
{19=1, 38=1, 36=1, 37=1, 42=1, 10=1, 40=1, 41=1, 11=1, 45=1}
注意:由於我們上面的代碼使用hashmap,因此它記錄的結果是無序的,當我們下一次運行代碼的時候,它們的順序將會不一樣。
2.常用方法containKeys和containValue
package com.ray.ch09;import java.util.HashMap;import java.util.Random;public class Test {public static void main(String[] args) {HashMap map = new HashMap();Random random = new Random();for (int i = 0; i < 10; i++) {int key = random.nextInt(50);if (map.get(key) == null) {map.put(key, 1);} else {int value = map.get(key);map.put(key, value + 1);}}System.out.println(map.toString());System.out.println(map.containsKey(3));System.out.println(map.containsValue(5));}}
輸出:
{32=1, 18=1, 38=1, 5=1, 23=1, 6=1, 42=1, 43=1, 29=1, 15=1}
false
false
一般我們會使用上面的方法來測試map裡面是否有我們想要的對象。
3.把資料發展到多維。
package com.ray.ch09;import java.util.ArrayList;import java.util.HashMap;public class Test {public static void main(String[] args) {HashMap> map = new HashMap>();Person person = new Person();ArrayList pets = new ArrayList();for (int i = 0; i < 10; i++) {pets.add(new Pet());}map.put(person, pets);}}class Person {}class Pet {}
上面的代碼其實我們已經把資料機構變成了多維的形式。
總結:這一章節主要講述了HashMap的使用。