国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java 基礎(chǔ)篇】Java Map 詳解

這篇具有很好參考價值的文章主要介紹了【Java 基礎(chǔ)篇】Java Map 詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

導(dǎo)言

在Java的集合框架中,Map接口用于存儲鍵值對,提供了一種基于鍵進(jìn)行查找和操作的數(shù)據(jù)結(jié)構(gòu)。Map接口的實現(xiàn)類提供了豐富的方法來操作鍵值對,例如添加、刪除、更新和查找。本文將詳細(xì)介紹Java中的Map接口及其常見實現(xiàn)類,包括HashMap、TreeMapLinkedHashMap,并提供一些示例代碼。

一、Map 概述

Map接口是一個鍵值對的集合,它繼承自Collection接口中的size()isEmpty()等方法,同時還提供了根據(jù)鍵查找值的方法,以及添加、刪除和更新鍵值對的方法。在Java中,Map接口有幾個常見的實現(xiàn)類,每個實現(xiàn)類都具有不同的性能和用途。

  • HashMap:基于哈希表實現(xiàn),具有快速的查找和插入操作,適用于需要快速查找鍵值對的場景。
  • TreeMap:基于紅黑樹實現(xiàn),可以對鍵進(jìn)行排序,并提供了一系列與排序相關(guān)的方法,適用于需要對鍵進(jìn)行排序的場景。
  • LinkedHashMap:基于哈希表和鏈表實現(xiàn),保持鍵值對的插入順序,適用于需要保持插入順序的場景。

二、HashMap

HashMapMap接口的一個常見實現(xiàn)類,它基于哈希表實現(xiàn),可以提供快速的查找和插入操作。以下是一些常用的HashMap方法:

  • put(K key, V value): 將指定的鍵值對添加到HashMap中。
  • remove(Object key): 從HashMap中移除指定鍵的鍵值對。
  • get(Object key): 返回指定鍵對應(yīng)的值。
  • containsKey(Object key): 檢查HashMap中是否包含指定的鍵。
  • containsValue(Object value): 檢查HashMap中是否包含指定的值。
  • size(): 返回HashMap中鍵值對的數(shù)量。

以下是一個使用HashMap的示例代碼:

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

public class HashMapExample {
    public static void main(String[] args) {
        Map<String, Integer> scores = new HashMap<>();
        scores.put("Alice", 90);
        scores.put("Bob", 80);
        scores.put("Charlie", 95);

        System.out.println("Scores: " + scores);

        scores.remove("Bob");
        System.out.println("Scores after removal: " + scores);

        int aliceScore = scores.get("Alice");
        System.out.println("Alice's score: " + aliceScore);

        boolean containsCharlie = scores.containsKey("Charlie");
        System.out.println("Contains Charlie: " + containsCharlie);
    }
}

在上述示例中,我們創(chuàng)建了一個HashMap實例,并添加了一些學(xué)生的分?jǐn)?shù)。然后,我們從HashMap中移除了一個鍵值對,并通過鍵獲取了對應(yīng)的值。最后,我們檢查HashMap中是否包含特定的鍵。

三、TreeMap

TreeMapMap接口的另一個常見實現(xiàn)類,它基于紅黑樹實現(xiàn),可以對鍵進(jìn)行排序,并提供了一系列與排序相關(guān)的方法。以下是一些常用的TreeMap方法:

  • put(K key, V value): 將指定的鍵值對添加到TreeMap中。
  • remove(Object key): 從TreeMap中移除指定鍵的鍵值對。
  • get(Object key): 返回指定鍵對應(yīng)的值。
  • containsKey(Object key): 檢查TreeMap中是否包含指定的鍵。
  • size(): 返回TreeMap中鍵值對的數(shù)量。
  • firstKey(): 返回TreeMap中的第一個鍵。
  • lastKey(): 返回TreeMap中的最后一個鍵。

以下是一個使用TreeMap的示例代碼:

import java.util.TreeMap;
import java.util.Map;

public class TreeMapExample {
    public static void main(String[] args) {
        Map<String, Integer> scores = new TreeMap<>();
        scores.put("Alice", 90);
        scores.put("Bob", 80);
        scores.put("Charlie", 95);

        System.out.println("Scores: " + scores);

        scores.remove("Bob");
        System.out.println("Scores after removal: " + scores);

        int aliceScore = scores.get("Alice");
        System.out.println("Alice's score: " + aliceScore);

        String firstKey = scores.firstKey();
        String lastKey = scores.lastKey();
        System.out.println("First key: " + firstKey);
        System.out.println("Last key: " + lastKey);
    }
}

在上述示例中,我們創(chuàng)建了一個TreeMap實例,并添加了一些學(xué)生的分?jǐn)?shù)。由于TreeMap基于紅黑樹實現(xiàn),鍵的順序?qū)⒏鶕?jù)鍵的自然順序進(jìn)行排序。然后,我們從TreeMap中移除了一個鍵值對,并通過鍵獲取了對應(yīng)的值。最后,我們使用firstKey()lastKey()方法獲取了TreeMap中的第一個和最后一個鍵。

四、LinkedHashMap

LinkedHashMapMap接口的另一個實現(xiàn)類,它基于哈希表和鏈表實現(xiàn),并保持鍵值對的插入順序。以下是一些常用的LinkedHashMap方法:

  • put(K key, V value): 將指定的鍵值對添加到LinkedHashMap中。
  • remove(Object key): 從LinkedHashMap中移除指定鍵的鍵值對。
  • get(Object key): 返回指定鍵對應(yīng)的值。
  • containsKey(Object key): 檢查LinkedHashMap中是否包含指定的鍵。
  • size(): 返回LinkedHashMap中鍵值對的數(shù)量。

以下是一個使用LinkedHashMap的示例代碼:

import java.util.LinkedHashMap;
import java.util.Map;

public class LinkedHashMapExample {
    public static void main(String[] args) {
        Map<String, Integer> scores = new LinkedHashMap<>();


        scores.put("Alice", 90);
        scores.put("Bob", 80);
        scores.put("Charlie", 95);

        System.out.println("Scores: " + scores);

        scores.remove("Bob");
        System.out.println("Scores after removal: " + scores);

        int aliceScore = scores.get("Alice");
        System.out.println("Alice's score: " + aliceScore);

        boolean containsCharlie = scores.containsKey("Charlie");
        System.out.println("Contains Charlie: " + containsCharlie);
    }
}

在上述示例中,我們創(chuàng)建了一個LinkedHashMap實例,并添加了一些學(xué)生的分?jǐn)?shù)。由于LinkedHashMap基于哈希表和鏈表實現(xiàn),它保持了鍵值對的插入順序。然后,我們從LinkedHashMap中移除了一個鍵值對,并通過鍵獲取了對應(yīng)的值。最后,我們檢查LinkedHashMap中是否包含特定的鍵。

總結(jié)

在本文中,我們詳細(xì)介紹了Java中的Map接口及其常見實現(xiàn)類:HashMap、TreeMapLinkedHashMap。通過了解它們的特點和用法,你可以根據(jù)實際需求選擇適當(dāng)?shù)?code>Map實現(xiàn)類來存儲和操作鍵值對。

HashMap適用于需要快速查找和插入鍵值對的場景,TreeMap適用于需要對鍵進(jìn)行排序的場景,而LinkedHashMap適用于需要保持插入順序的場景。

希望本文對你理解和使用Java的Map接口有所幫助!

參考資料:

  • The Java Tutorials - Collections
  • Java Collections Framework

附:示例代碼

HashMapExample.java

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

public class HashMapExample {
    public static void main(String[] args) {
        Map<String, Integer> scores = new HashMap<>();
        scores.put("Alice", 90);
        scores.put("Bob", 80);
        scores.put("Charlie", 95);

        System.out.println("Scores: " + scores);

        scores.remove("Bob");
        System.out.println("Scores after removal: " + scores);

        int aliceScore = scores.get("Alice");
        System.out.println("Alice's score: " + aliceScore);

        boolean containsCharlie = scores.containsKey("Charlie");
        System.out.println("Contains Charlie: " + containsCharlie);
    }
}

TreeMapExample.java

import java.util.TreeMap;
import java.util.Map;

public class TreeMapExample {
    public static void main(String[] args) {
        Map<String, Integer> scores = new TreeMap<>();
        scores.put("Alice", 90);
        scores.put("Bob", 80);
        scores.put("Charlie", 95);

        System.out.println("Scores: " + scores);

        scores.remove("Bob");
        System.out.println("Scores after removal: " + scores);

        int aliceScore = scores.get("Alice");
        System.out.println("Alice's score: " + aliceScore);

        String firstKey = scores.firstKey();
        String lastKey = scores.lastKey();
        System.out.println("First key: " + firstKey);
        System.out.println("Last key: " + lastKey);
    }
}

LinkedHashMapExample.java文章來源地址http://www.zghlxwxcb.cn/news/detail-671320.html

import java.util.LinkedHashMap;
import java.util.Map;

public class LinkedHashMapExample {
    public static void main(String[] args) {
        Map<String, Integer> scores = new LinkedHashMap<>();
        scores.put("Alice", 90);
        scores.put("Bob", 80);
        scores.put("Charlie", 95);

        System.out.println("Scores: " + scores);

        scores.remove("Bob");
        System.out.println("Scores after removal: " + scores);

        int aliceScore = scores.get("Alice");
        System.out.println("Alice's score: " + aliceScore);

        boolean containsCharlie = scores.containsKey("Charlie");
        System.out.println("Contains Charlie: " + containsCharlie);
    }
}

到了這里,關(guān)于【Java 基礎(chǔ)篇】Java Map 詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java基礎(chǔ)——Map集合遍歷方式

    (1)方式一:鍵找值 先獲取Map集合的全部鍵的Set集合。 遍歷鍵的Set集合,然后通過鍵提取對應(yīng)值。 涉及API: 方法名稱 說明 SetK keySet() 獲取所有鍵的集合 V get(Object key) 根據(jù)鍵獲取值 (2)方式二:鍵值對 先把Map集合轉(zhuǎn)換成Set集合,Set集合中每個元素都是鍵值對實現(xiàn)類型了。

    2023年04月10日
    瀏覽(24)
  • Java基礎(chǔ)二十五(Map)

    Java基礎(chǔ)二十五(Map)

    Map 接口是 Java 集合框架中的一種用于儲存鍵值對映射關(guān)系的接口。 Map 接口提供了一種通過鍵來訪問值的方式,其中每一個鍵都是唯一的,值可以重復(fù)。 Map 接口的主要特征如下: 鍵唯一性: Map 中的鍵是唯一的,同一個鍵只能對應(yīng)一個值。如果重復(fù)插入相同的鍵,則后面的

    2024年02月09日
    瀏覽(12)
  • 【Java基礎(chǔ)】Java 8中Map的遍歷方式

    Java 8引入了許多新特性,其中包括對集合的處理方式進(jìn)行了重大升級。對于Map類型,Java 8也提供了一些新的遍歷方式,能夠更加優(yōu)雅地實現(xiàn)Map的遍歷和操作。本文將介紹Java 8中常用的Map遍歷方式,并比較它們之間的優(yōu)缺點。 Java 8中新增了 forEach() 方法,可以通過lambda表達(dá)式或

    2023年04月22日
    瀏覽(27)
  • Java 中多種循環(huán) Map 的方式詳解

    在 Java 中,我們經(jīng)常需要對 Map 類型的數(shù)據(jù)進(jìn)行遍歷,以便進(jìn)行數(shù)據(jù)處理或輸出。Java 提供了多種循環(huán) Map 的方式,每種方式都有其適用的場景。本文將介紹 Java 中常見的幾種循環(huán) Map 的方式,并對它們進(jìn)行詳細(xì)的講解。 在這種方式中,通過調(diào)用 entrySet() 方法,將 Map 轉(zhuǎn)換成

    2024年02月04日
    瀏覽(21)
  • 【Java基礎(chǔ)】Map遍歷的5種方式

    創(chuàng)建一個集合 方式一:Iterator 迭代器遍歷 map.entrySet().iterator(); map.keySet().iterator(); 方式二:For Each方式遍歷 map.forEach(BiConsumer action) 方式三:獲取Collection集合 map.values().forEach() 方式四:增強(qiáng)for遍歷map map.entrySet().for map.keySet().for 方法五:Stream流遍歷 map.entrySet().stream().forEach() m

    2024年02月09日
    瀏覽(23)
  • Java 8 中的 Stream API - map() 方法詳解

    摘要: Java 8 中的 Stream API 提供了一種新的處理集合和數(shù)組的方式,可以使代碼更加簡潔、易讀,同時還可以提高性能。其中 map() 方法是比較常用的方法之一,它可以將 Stream 對象中的每個元素映射為另一個元素。本文將對 Java 8 中的 Stream API 和 map() 方法進(jìn)行詳細(xì)介紹,并通

    2024年04月09日
    瀏覽(24)
  • 【數(shù)據(jù)結(jié)構(gòu)】 | java中 map和set 詳解

    【數(shù)據(jù)結(jié)構(gòu)】 | java中 map和set 詳解

    ??? 博客新人,希望大家一起加油進(jìn)步 ??? 乾坤未定,你我皆黑馬 我們首先來看一下集合的框架結(jié)構(gòu): Set實現(xiàn)了Collection接口,Map是一個單獨(dú)存在的接口。 而下面又分別各有兩個類,分別是TreeSet(HashSet)和 HashSet(HashMap) Map和Set的作用是用來查找和搜索的;以后涉及到

    2023年04月10日
    瀏覽(20)
  • 【C++入門到精通】C++入門 —— map & multimap (STL)

    【C++入門到精通】C++入門 —— map & multimap (STL)

    各位小伙伴們,在這個美好的中秋節(jié)來臨之際,我衷心祝福你和你的家人度過一個幸福、團(tuán)圓的時刻。愿明月的皎潔照耀你的每一天,團(tuán)圓的月餅傳遞著我對你的思念和祝福。祝福你在中秋佳節(jié)里收獲幸福與快樂,家庭和睦,心想事成。中秋快樂! 前面我們講了C語言的基礎(chǔ)

    2024年02月08日
    瀏覽(26)
  • Java基礎(chǔ)六 - Collection集合List、Set、Queue,Map

    1. List - ArrayList、LinkedList、Vector ArrayList ????????2. LinkedList ????????3.?Vector ????????4. 常見使用方法 2. Set - HashSet、LinkedHashSet、TreeSet 1.?HashSet 2. LinkedHashSet 3. TreeSet 4. 常用方法 3. Map -?HashMap、TreeMap、LinkedHashMap、Hashtable 1.?HashMap 2.?LinkedHashMap 3.?TreeMap 4.?Hashtable 5.

    2024年02月14日
    瀏覽(28)
  • 從零開始學(xué)習(xí) Java:簡單易懂的入門指南之Map集合(二十三)

    1.1Map集合概述和特點 Map集合概述 Map集合的特點 雙列集合,一個鍵對應(yīng)一個值 鍵不可以重復(fù),值可以重復(fù) Map集合的基本使用 1.2Map集合的基本功能 方法介紹 方法名 說明 V put(K key,V value) 添加元素 V remove(Object key) 根據(jù)鍵刪除鍵值對元素 void clear() 移除所有的鍵值對元素 boolean con

    2024年02月09日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包