最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA集合框架Map特性及實例解析

 更新時間:2020年04月04日 12:43:35   作者:冬至未霜  
這篇文章主要介紹了JAVA集合框架Map特性及實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

一  Map特性:

  1 Map提供一種映射關(guān)系,其中的元素是以鍵值對(key-value)的形式存儲的,能夠?qū)崿F(xiàn)根據(jù)key快速查找value;

  2 Map中鍵值對以Entry類型的對象實例形式存在;

  3 鍵,即key不可重復(fù),但是value值可以;

  4 每個鍵最多只能映射一個值;

  5 Map接口提供了分別返回key值集合、value值集合以及Entry(鍵值對)集合的方法;

  6 Map支持泛型,形式如:Map<K,V>

二  HashMap類:

  1 HashMap是Map的一個重要實現(xiàn)類,也是最常用的,基于哈希表實現(xiàn);

  2 HashMap中的Entry對象是無序排列的;

  3 Key值和Value值都可以為null,但是HashMap中只能有一個Key值為null的映射(key值不可重復(fù));

示例:

package com.collection;

import java.util.HashMap;
import java.util.Set;
import java.util.Scanner;

public class MapTest {

  public HashMap<String,Student> students = new HashMap<String,Student>();

  /*
  * 新建學(xué)生到Map中
  * */
  public void addStudent(){
    //先添加三個學(xué)生
    Scanner console = new Scanner(System.in);
    int i = 0;
    while(i<3){
      System.out.println("請輸入學(xué)生ID:");
      String id = console.next();
      Student s = students.get(id);
      if(s == null){
        System.out.println("請輸入學(xué)生姓名:");
        String name = console.next();
        Student student = new Student(Integer.parseInt(id),name);
        students.put(id,student);
        System.out.println("添加了學(xué)生:"+student.id+"-"+student.name);
        i++;
      }else{
        System.out.println("該ID已經(jīng)被占用");
        continue;
      }
    }
  }

  /*
  * 試用HashMap的keySet方法
  *
  * 順便遍歷Students
  * */
  public void forEachStudents(){
    Set<String> ks = students.keySet();
    System.out.println("共有學(xué)生數(shù)量"+students.size()+"個,具體如下:");
    for(String key: ks){
      Student student = students.get(key);
      if( student != null){
        System.out.println("學(xué)生ID:"+student.id+"-學(xué)生姓名:"+student.name);
      }
    }
  }

  public static void main(String[] args){
    MapTest mt = new MapTest();
    mt.addStudent();
    mt.forEachStudents();
  }
}

其中Student類如下:

package com.collection;

import java.util.HashSet;
import java.util.Set;

public class Student {
  public int id;
  public String name;

  //set中添加某個對象無論添加多少次,最終只會保留一個該對象(的引用),并且,保留的是第一次添加的那個

  public Set<Course> course = new HashSet<Course>();

  public Student(int id, String name){
    this.id = id;
    this.name = name;
  }

}

返回結(jié)果:

請輸入學(xué)生ID:
請輸入學(xué)生姓名:
劉備
添加了學(xué)生:1-劉備
請輸入學(xué)生ID:
請輸入學(xué)生姓名:
關(guān)羽
添加了學(xué)生:2-關(guān)羽
請輸入學(xué)生ID:
請輸入學(xué)生姓名:
張飛
添加了學(xué)生:3-張飛
共有學(xué)生數(shù)量3個,具體如下:
學(xué)生ID:1-學(xué)生姓名:劉備
學(xué)生ID:2-學(xué)生姓名:關(guān)羽
學(xué)生ID:3-學(xué)生姓名:張飛

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一起來學(xué)習(xí)JAVA的運算符

    一起來學(xué)習(xí)JAVA的運算符

    這篇文章主要為大家詳細介紹了JAVA的運算符,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Java并發(fā)工具類之CountDownLatch詳解

    Java并發(fā)工具類之CountDownLatch詳解

    這篇文章主要介紹了Java并發(fā)工具類之CountDownLatch詳解,CountDownLatch可以使一個獲多個線程等待其他線程各自執(zhí)行完畢后再執(zhí)行,CountDownLatch可以解決那些一個或者多個線程在執(zhí)行之前必須依賴于某些必要的前提業(yè)務(wù)先執(zhí)行的場景,需要的朋友可以參考下
    2023-12-12
  • Java調(diào)用MySQL存儲過程并獲得返回值的方法

    Java調(diào)用MySQL存儲過程并獲得返回值的方法

    這篇文章主要介紹了Java調(diào)用MySQL存儲過程并獲得返回值的方法,實例分析了java實現(xiàn)MySQL存儲過程的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • 詳解SpringBoot注解讀取配置文件的方式

    詳解SpringBoot注解讀取配置文件的方式

    這篇文章主要介紹了詳解SpringBoot注解讀取配置文件的方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • idea使用Vim的技巧大全分享

    idea使用Vim的技巧大全分享

    vim是一個高度可配置的文本編輯器,非常穩(wěn)定,可以高效的創(chuàng)建任何文本、持久的、多級撤銷樹、支持?jǐn)?shù)百種變成語言和格式、與許多工具集成,本文給大家分享了idea使用Vim的技巧大全,需要的朋友可以參考下
    2024-05-05
  • Python爬蟲 12306搶票開源代碼過程詳解

    Python爬蟲 12306搶票開源代碼過程詳解

    這篇文章主要介紹了Python爬蟲 12306搶票開源代碼過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Java SpringBoot攔截器詳解

    Java SpringBoot攔截器詳解

    這篇文章主要介紹了Java SpringBoot攔截器的使用方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-10-10
  • 淺談Java基準(zhǔn)性能測試之JMH

    淺談Java基準(zhǔn)性能測試之JMH

    JMH是Java Microbenchmark Harness的簡稱,一個針對Java做基準(zhǔn)測試的工具。想準(zhǔn)確的對一段代碼做基準(zhǔn)性能測試并不容易,因為JVM層面在編譯期、運行時對代碼做很多優(yōu)化,當(dāng)代碼塊處于整個系統(tǒng)中運行時并不一定會生效,產(chǎn)生錯誤的基準(zhǔn)測試結(jié)果,這個問題就是JMH要解決的
    2021-06-06
  • druid升級后sql監(jiān)控頁面為空白的解決

    druid升級后sql監(jiān)控頁面為空白的解決

    這篇文章主要介紹了druid升級后sql監(jiān)控頁面為空白的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • SpringBoot使用Interceptor攔截器的實例

    SpringBoot使用Interceptor攔截器的實例

    這篇文章主要介紹了SpringBoot使用Interceptor攔截器的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03

最新評論

远安县| 鄂温| 绥江县| 濮阳县| 淄博市| 永昌县| 灵寿县| 怀柔区| 马关县| 冕宁县| 金乡县| 大丰市| 门源| 崇礼县| 白朗县| 双牌县| 阿拉善右旗| 青岛市| 班戈县| 余庆县| 衡山县| 红原县| 原阳县| 集安市| 灌南县| 信阳市| 舞阳县| 泾源县| 吕梁市| 遂溪县| 前郭尔| 五原县| 乾安县| 绥江县| 三穗县| 湖北省| 津南区| 南充市| 伊宁县| 绥德县| 加查县|