java初始化map的四種方式,java map初始化並賦值

本文目錄一覽:

關於JAVA MAP怎麼初始化生成

首先你要理解 Map的基本結構,key-value

這裡最外層的Map,key是String類型,value是ArrayList。ArrayList裡面放得又是Map,這個Map的key是String,value也是String。

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Map;

public class Test {

    public static void main(String[] args) {

        MapString, ArrayListMapString, String topMap = new HashMap();

        String key1 = “map_key1”; // topMap 的第一個key

        ArrayListMapString, String value1 = new ArrayList(); // topMap 的第一個value

        // start

        MapString, String strMap = new HashMap();

        strMap.put(“hello”, “你好”);

        strMap.put(“thanks”, “謝謝”);

        value1.add(strMap);

        value1.add(new HashMap()); // 添加一個空的 Map

        // end

        topMap.put(key1, value1); // 放入topMap

        // 以上 start 到 end 段的代碼是在往value1的ArrayList中填充數據

        // 不填充也可以放入到topMap中,就像下面這樣

        topMap.put(“emptyList”, new ArrayListMapString, String());

        topMap.put(“emptyList2”, new ArrayList()); // jdk 1.7 及之後推薦這樣寫,省掉泛型描述。前面的new HashMap()、new ArrayList()也是省掉了

    }

}

java hashmap怎麼初始化

HashMap 是一種常用的數據結構,一般用來做數據字典或者 Hash 查找的容器。普通青年一般會這麼初始化:

HashMapString, String map = new HashMapString, String();

map.put(“name”, “test”);

map.put(“age”, “20”);

看完這段代碼,很多人都會覺得這麼寫太啰嗦了,文藝青年一般這麼來了:

HashMapString, String map = new HashMapString, String() {

{

map.put(“name”, “test”);

map.put(“age”, “20”);

}

};

javamap的用法

javamap的用法如下;

1、void clear():刪除Map中所有鍵值對。

2、boolean containsKey(Object key):查詢Map中是否包含指定key,如果包含則返回true。

3、boolean containsValue(Object value):查詢Map中是否包含指定value,如果包含則返回true。

4、Set entrySet():返回Map中所包含的鍵值對所組成的Set集合,每個集合元素都是Map.Entry對象(Entry是Map的內部類)。

5、Object get(Object key):返回指定key所對應的value,如Map中不包含key則返回null。

6、boolean isEmpty():查詢Map是否為空,如果空則返回true。

7、Set keySet():返回該Map中所有key所組成的set集合。

8、Object put(Object key,Object value):添加一個鍵值對,如果已有一個相同的key值則新的鍵值對覆蓋舊的鍵值對。

9、void putAll(Map m):將指定Map中的鍵值對複製到Map中。

10、Object remove(Object key):刪除指定key所對應的鍵值對,返回可以所關聯的value,如果key不存在,返回null。

11、int size():返回該Map里的鍵值對的個數。

12、Collection values():返回該Map里所有value組成的Collection。

Map中包含一個內部類:Entry。該類封裝了一個鍵值對,它包含了三個方法:

1、Object getKey():返回該Entry里包含的key值。

2、Object getValeu():返回該Entry里包含的value值。

3、Object setValue(V value):設置該Entry里包含的value值,並返回新設置的value值。

java Map 怎麼遍歷

java Map 遍歷一般有四種方式

方式一: 這是最常見的並且在大多數情況下也是最可取的遍歷方式。在鍵值都需要時使用。

方式二: 在for-each循環中遍歷keys或values。

如果只需要map中的鍵或者值,你可以通過keySet或values來實現遍歷,而不是用entrySet。

該方法比entrySet遍歷在性能上稍好(快了10%),而且代碼更加乾淨。

方式三:使用Iterator遍歷

使用泛型:

不使用泛型:

你也可以在keySet和values上應用同樣的方法。

方法四:  通過鍵找值遍歷(效率低)

作為方法一的替代,這個代碼看上去更加乾淨;但實際上它相當慢且無效率。

因為從鍵取值是耗時的操作(與方法一相比,在不同的Map實現中該方法慢了20%~200%)。如果安裝了FindBugs,它會做出檢查並警告你關於哪些是低效率的遍歷。所以盡量避免使用。

總結:

如果僅需要鍵(keys)或值(values)使用方法二。

如果所使用的語言版本低於java 5,或是打算在遍歷時刪除entries,必須使用方法三。

否則使用方法一(鍵值都要)。

擴展資料:

類似的遍歷演算法:

二叉樹的遍歷演算法

1、先(根)序遍歷的遞歸演算法定義:

若二叉樹非空,則依次執行如下操作:

⑴ 訪問根結點;

⑵ 遍歷左子樹;

⑶ 遍歷右子樹。

2、中(根)序遍歷的遞歸演算法定義:

若二叉樹非空,則依次執行如下操作:

⑴遍歷左子樹;

⑵訪問根結點;

⑶遍歷右子樹。

3、後(根)序遍歷得遞歸演算法定義:

若二叉樹非空,則依次執行如下操作:

⑴遍歷左子樹;

⑵遍歷右子樹;

⑶訪問根結點。

參考資料:百度百科——Java

原創文章,作者:EHUL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/145008.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
EHUL的頭像EHUL
上一篇 2024-10-26 11:55
下一篇 2024-10-26 11:55

相關推薦

  • Python緩存圖片的處理方式

    本文將從多個方面詳細闡述Python緩存圖片的處理方式,包括緩存原理、緩存框架、緩存策略、緩存更新和緩存清除等方面。 一、緩存原理 緩存是一種提高應用程序性能的技術,在網路應用中流…

    編程 2025-04-29
  • Python文件路徑賦值

    Python中文件操作是非常基本的操作,而文件路徑是文件操作的前提。本文將從多個方面闡述如何在Python中賦值文件路徑。 一、絕對路徑和相對路徑 在Python中,路徑可以分為絕…

    編程 2025-04-28
  • 如何使用Python將輸出值賦值給List

    對標題進行精確、簡明的解答:本文將從多個方面詳細介紹Python如何將輸出的值賦值給List。我們將分步驟進行探討,以便讀者更好地理解。 一、變數類型 在介紹如何將輸出的值賦值給L…

    編程 2025-04-28
  • Python中賦值運算符和相等運算符解析

    Python是一種高級編程語言,它通常被用於開發 Web 應用程序、人工智慧、數據分析和科學計算。在Python中,賦值運算符和相等運算符是非常常見和基本的運算符,它們也是進行編程…

    編程 2025-04-28
  • Go中struct的初始化

    本文將從多個方面詳細闡述Go中struct的初始化方式,包括使用字面量初始化、使用new函數初始化以及使用構造函數等。通過本文的介紹,讀者能夠更深入的了解Go中struct的初始化…

    編程 2025-04-28
  • Python中賦值種類

    本篇文章將從多個方面對Python中賦值種類做詳細的闡述,包括普通賦值、序列解包賦值、鏈式賦值、增量賦值和全局賦值。 一、普通賦值 普通賦值是Python中最基礎的賦值操作,通過等…

    編程 2025-04-28
  • Python在線編輯器的優勢與實現方式

    Python在線編輯器是Python語言愛好者的重要工具之一,它可以讓用戶方便快捷的在線編碼、調試和分享代碼,無需在本地安裝Python環境。本文將從多個方面對Python在線編輯…

    編程 2025-04-28
  • Python同步賦值語句的使用方法和注意事項

    Python同步賦值語句是Python中用來同時為多個變數賦值的一種方法。通過這種方式,可以很方便地同時為多個變數賦值,從而提高代碼的可讀性和編寫效率。下面從多個方面詳細介紹Pyt…

    編程 2025-04-28
  • Java表單提交方式

    Java表單提交有兩種方式,分別是get和post。下面我們將從以下幾個方面詳細闡述這兩種方式。 一、get方式 1、什麼是get方式 在get方式下,表單的數據會以查詢字元串的形…

    編程 2025-04-27
  • 用Pythonic的方式編寫高效代碼

    Pythonic是一種編程哲學,它強調Python編程風格的簡單、清晰、優雅和明確。Python應該描述為一種語言而不是一種編程語言。Pythonic的編程方式不僅可以使我們在編碼…

    編程 2025-04-27

發表回復

登錄後才能評論