java 18
1.Map集合存儲元素是成對出現的,Map集合有一個鍵和值,鍵是唯一的,但是值是可以重復的。 2.Collection 存儲的是單獨出現的元素,子接口Set元素唯一,子接口List元素是可以重復的。
接下來我們用一段代碼來演示:
public class MapDemo1 { public static void main(String[] args) { //創建map集合 Map<String,String> m = new HashMap<String,String>(); //添加元素 m.put("小米","大米"); m.put("小王","大王"); m.put("小明","大明"); //刪除功能 //System.out.我們運行得到的結果如下:containKey:true containKey:false isEmpty:false size:3 獲取鍵值:大王
我們在后面添加如下代碼:
Set<String> s = m.keySet();//獲取鍵的集合 for (String key : s){ System.out.println(key); }輸出結果:
小明 小王 小米
我們根據輸出的結果發現,Map集合的順序和代碼內容是不一樣的,由此可得,Map集合是無序的。
我們添加如下代碼
Collection<String> collection = m.values(); //Map獲取所有值的集合 for (String valuse : collection){ System.out.println(valuse); }輸出結果:
大明 大王 大米
那么我們使用了這兩種方法遍歷之后,我們改怎么樣去根據鍵去找值呢? 添加如下代碼:
Set<String> se = m.keySet(); for (String key:se){ String valus = m.get(key); System.out.println(key+"--"+valus); }輸出結果:
小明–大明 小王–大王 小米–大米
但是呢上面都不是集合的遍歷,都只是值和鍵之間的遍歷,接下來來看一種Map集合的遍歷。
第一種方法:
鍵找值 a:獲取所有鍵的集合 b:遍歷鍵的集合,得到每一個鍵 c:根據鍵到集合中去找值
首先我們創建一個集合對象,并添加元素
// Set<Map.Entry<K,V>> entrySet()public class MapDemo3 { public static void main(String[] args) { // TODO 自動生成的方法存根 //創建集合對象 Map<String, String> map = new HashMap<String, String>(); //創建元素 添加到集合 map.put("key1","value1"); map.put("key2","value2"); map.put("key3","value3"); map.put("key4","value4");遍歷的第一種方式:
鍵值對對象找鍵和值 a:獲取所有的鍵值對對象的集合 b:遍歷鍵值對對象的集合,獲取每一個鍵值對對象 c:根據鍵值對對象去獲取鍵和值
//遍歷一 Set<Map.Entry<String, String>> set = map.entrySet(); for (Entry<String, String> entry : set) { String key = entry.getKey(); String value = entry.getValue(); System.out.println(key+"-----"+value); }得到的結果如下:
key1—–value1 key2—–value2 key3—–value3 key4—–value4
這樣我們就成功的遍歷出了Map集合
但是我們還有一種遍歷集合的方式:
//遍歷方式二 System.out.println("遍歷方式二"); Set<String> set2 = map.keySet(); for (String key : set2){ String value = map.get(key); System.out.println(key+"----"+value);結果如下:
遍歷方式二 key1—-value1 key2—-value2 key3—-value3 key4—-value4
HashMap類:鍵是哈希表結構,可以保證鍵的唯一性
public static void main(String[] args) { // TODO 自動生成的方法存根 // 創建學生對象 HashMap<String, Student> hashMap = new HashMap<String, Student>(); // 創建學生對象 Student s1 = new Student("小明", 11); Student s2 = new Student("小王", 21); Student s3 = new Student("小黑", 33); // 添加學生元素 hashMap.put("1", s1); hashMap.put("2", s3); hashMap.put("3", s2); // 遍歷 Set<String> set5 = hashMap.keySet(); for (String key : set5) { Student v = hashMap.get(key); System.out.println(key + "-----" + v.getAge() + v.getName()); } }}輸出結果如下:
1—–11小明 2—–33小黑 3—–21小王
新聞熱點
疑難解答