亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Map學(xué)習(xí)二之HashMap唯一性的解釋

douzifly / 2522人閱讀

摘要:存儲(chǔ)自定義類型鍵值集合保證是唯一的作為的元素必須重寫方法和方法以保證唯一存儲(chǔ)自定義類型鍵值類型類就必須重寫方法和方法以保證唯一類型可以重復(fù)創(chuàng)建集合往集合中添加元素女王英國秦始皇秦國普京俄羅斯女王毛里求斯使用和增強(qiáng)遍歷集合存儲(chǔ)自定義類型鍵

package com.itheima.demo02.Map;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/*

HashMap存儲(chǔ)自定義類型鍵值
Map集合保證key是唯一的:
    作為key的元素,必須重寫hashCode方法和equals方法,以保證key唯一

*/
public class Demo01HashMapSavePerson {

public static void main(String[] args) {
    show02();
}

/*
    HashMap存儲(chǔ)自定義類型鍵值
    key:Person類型
        Person類就必須重寫hashCode方法和equals方法,以保證key唯一
    value:String類型
        可以重復(fù)
 */
private static void show02() {
    //創(chuàng)建HashMap集合
    HashMap map = new HashMap<>();
    //往集合中添加元素
    map.put(new Person("女王",18),"英國");
    map.put(new Person("秦始皇",18),"秦國");
    map.put(new Person("普京",30),"俄羅斯");
    map.put(new Person("女王",18),"毛里求斯");
    //使用entrySet和增強(qiáng)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存儲(chǔ)自定義類型鍵值
    key:String類型
        String類重寫hashCode方法和equals方法,可以保證key唯一
    value:Person類型
        value可以重復(fù)(同名同年齡的人視為同一個(gè))
 */
private static void show01() {
    //創(chuàng)建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加增強(qiáng)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;
}

}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/75303.html

相關(guān)文章

  • Map學(xué)習(xí)二之LinkedHash,HashTable,計(jì)算一個(gè)給定字符串每個(gè)字符出現(xiàn)次數(shù)

    package com.itheima.demo03.Map; import java.util.HashMap;import java.util.LinkedHashMap; /* java.util.LinkedHashMap entends HashMap Map 接口的哈希表和鏈接列表實(shí)現(xiàn),具有可預(yù)知的迭代順序。 底層原理: 哈希表+鏈表(記錄元素的順序) */public cla...

    Rocture 評(píng)論0 收藏0
  • python綜合學(xué)習(xí)二之多進(jìn)程

    摘要:本節(jié)講學(xué)習(xí)的多進(jìn)程。和之前的的不同點(diǎn)是丟向的函數(shù)有返回值,而的沒有返回值。所以接下來讓我們來看下這兩個(gè)進(jìn)程是否會(huì)出現(xiàn)沖突。 本節(jié)講學(xué)習(xí)Python的多進(jìn)程。 一、多進(jìn)程和多線程比較 多進(jìn)程 Multiprocessing 和多線程 threading 類似, 他們都是在 python 中用來并行運(yùn)算的. 不過既然有了 threading, 為什么 Python 還要出一個(gè) multip...

    gityuan 評(píng)論0 收藏0
  • Flask二之快速入門

    摘要:一一個(gè)最小的應(yīng)用是程序?qū)嵗粋€(gè)項(xiàng)目只能有一個(gè)程序?qū)嵗酚裳b飾器視圖函數(shù)返回一個(gè)字符串把程序保存為用解釋器運(yùn)行訪問,會(huì)看見問候。路由裝飾器這個(gè)函數(shù)的返回值稱為響應(yīng),是客戶端接收到的內(nèi)容。 一.一個(gè)最小的Flask應(yīng)用 from flask import Flask app = Flask(__name__) #app是程序?qū)嵗?,一個(gè)項(xiàng)目只能有一個(gè)程序?qū)嵗?@app.route(/) #...

    XGBCCC 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<