摘要:存儲自定義類型鍵值集合保證是唯一的作為的元素必須重寫方法和方法以保證唯一存儲自定義類型鍵值類型類就必須重寫方法和方法以保證唯一類型可以重復創建集合往集合中添加元素女王英國秦始皇秦國普京俄羅斯女王毛里求斯使用和增強遍歷集合存儲自定義類型鍵
package com.itheima.demo02.Map;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/*
HashMap存儲自定義類型鍵值 Map集合保證key是唯一的: 作為key的元素,必須重寫hashCode方法和equals方法,以保證key唯一
*/
public class Demo01HashMapSavePerson {
public static void main(String[] args) { show02(); } /* HashMap存儲自定義類型鍵值 key:Person類型 Person類就必須重寫hashCode方法和equals方法,以保證key唯一 value:String類型 可以重復 */ private static void show02() { //創建HashMap集合 HashMapmap = new HashMap<>(); //往集合中添加元素 map.put(new Person("女王",18),"英國"); map.put(new Person("秦始皇",18),"秦國"); map.put(new Person("普京",30),"俄羅斯"); map.put(new Person("女王",18),"毛里求斯"); //使用entrySet和增強for遍歷Map集合 Set > set = map.entrySet(); for (Map.Entry entry : set) { Person key = entry.getKey(); String value = entry.getValue(); System.out.println(key+"-->"+value); } } /* HashMap存儲自定義類型鍵值 key:String類型 String類重寫hashCode方法和equals方法,可以保證key唯一 value:Person類型 value可以重復(同名同年齡的人視為同一個) */ private static void show01() { //創建HashMap集合 HashMap map = new HashMap<>(); //往集合中添加元素 map.put("北京",new Person("張三",18)); map.put("上海",new Person("李四",19)); map.put("廣州",new Person("王五",20)); map.put("北京",new Person("趙六",18)); //使用keySet加增強for遍歷Map集合 Set set = map.keySet(); for (String key : set) { Person value = map.get(key); System.out.println(key+"-->"+value); } }
}
package com.itheima.demo02.Map;
import java.util.Objects;
public class Person {
private String name; private int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Person{" + "name="" + name + """ + ", age=" + age + "}"; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Person person = (Person) o; return age == person.age && Objects.equals(name, person.name); } @Override public int hashCode() { return Objects.hash(name, age); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }
}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75303.html
package com.itheima.demo03.Map; import java.util.HashMap;import java.util.LinkedHashMap; /* java.util.LinkedHashMap entends HashMap Map 接口的哈希表和鏈接列表實現,具有可預知的迭代順序。 底層原理: 哈希表+鏈表(記錄元素的順序) */public cla...
摘要:本節講學習的多進程。和之前的的不同點是丟向的函數有返回值,而的沒有返回值。所以接下來讓我們來看下這兩個進程是否會出現沖突。 本節講學習Python的多進程。 一、多進程和多線程比較 多進程 Multiprocessing 和多線程 threading 類似, 他們都是在 python 中用來并行運算的. 不過既然有了 threading, 為什么 Python 還要出一個 multip...
摘要:一一個最小的應用是程序實例,一個項目只能有一個程序實例路由裝飾器視圖函數返回一個字符串把程序保存為用解釋器運行訪問,會看見問候。路由裝飾器這個函數的返回值稱為響應,是客戶端接收到的內容。 一.一個最小的Flask應用 from flask import Flask app = Flask(__name__) #app是程序實例,一個項目只能有一個程序實例 @app.route(/) #...
閱讀 1574·2021-09-23 11:21
閱讀 2345·2021-09-07 10:13
閱讀 834·2021-09-02 10:19
閱讀 1125·2019-08-30 15:44
閱讀 1720·2019-08-30 13:18
閱讀 1913·2019-08-30 11:15
閱讀 1105·2019-08-29 17:17
閱讀 2017·2019-08-29 15:31