一、創建Map
Map是Java中的一種鍵值對集合,可以使用不同的實現方式,比如HashMap、TreeMap、LinkedHashMap等。不同的實現方式在內部對於元素的存放方式和查詢效率都有所不同。
首先看一下使用HashMap創建一個Map的例子:
Map map = new HashMap(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3);
以上代碼創建了一個包含三個元素的Map,並且使用put()方法將三個鍵值對添加進Map中。
接下來看一下使用TreeMap創建Map的例子:
Map map = new TreeMap(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3);
以上代碼同樣創建了一個包含三個元素的Map,並且使用put()方法將三個鍵值對添加進Map中。使用TreeMap創建的Map會自動按照鍵的自然順序進行排序。
二、Map的常用方法
Map中的常用方法包括put()、get()、containsKey()、containsValue()等,我們一一來看一下其作用。
1. put()
put()方法用於向Map中添加一個鍵值對,如果已經存在該鍵,則會將其對應的值替換成新的值。如果成功添加,則返回null,如果替換了已有元素,則返回被替換元素的值。
以下是put()方法的例子:
Map map = new HashMap(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); Integer oldValue = map.put("apple", 4); System.out.println(oldValue); // 輸出:1
以上代碼中,首先創建了一個包含三個元素的Map,然後使用put()方法向Map中添加一個鍵值對”apple”->4,由於已經存在鍵”apple”,則會將其原先對應的值1替換成4,並且返回被替換值1。
2. get()
get()方法用於從Map中獲取一個鍵對應的值。如果Map中不存在該鍵,則返回null。
以下是get()方法的例子:
Map map = new HashMap(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); Integer value = map.get("apple"); System.out.println(value); // 輸出:1 value = map.get("watermelon"); System.out.println(value); // 輸出:null
以上代碼中,首先創建了一個包含三個元素的Map,然後使用get()方法從Map中獲取鍵”apple”對應的值,輸出1。接下來又使用get()方法從Map中獲取鍵”watermelon”對應的值,輸出null。
3. containsKey()
containsKey()方法用於判斷Map中是否存在某個鍵。
以下是containsKey()方法的例子:
Map map = new HashMap(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); boolean contains = map.containsKey("apple"); System.out.println(contains); // 輸出:true contains = map.containsKey("watermelon"); System.out.println(contains); // 輸出:false
以上代碼中,首先創建了一個包含三個元素的Map,然後使用containsKey()方法判斷Map中是否存在鍵”apple”,輸出true。接下來又使用containsKey()方法判斷Map中是否存在鍵”watermelon”,輸出false。
4. containsValue()
containsValue()方法用於判斷Map中是否存在某個值。
以下是containsValue()方法的例子:
Map map = new HashMap(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); boolean contains = map.containsValue(1); System.out.println(contains); // 輸出:true contains = map.containsValue(4); System.out.println(contains); // 輸出:false
以上代碼中,首先創建了一個包含三個元素的Map,然後使用containsValue()方法判斷Map中是否存在值1,輸出true。接下來又使用containsValue()方法判斷Map中是否存在值4,輸出false。
三、遍歷Map
遍歷Map可以使用其自帶的遍歷方式或者迭代器來實現。
1. forEach循環
forEach循環可以直接遍歷Map中的每個鍵值對,以下是forEach循環的例子:
Map map = new HashMap(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); for(Map.Entry entry : map.entrySet()) { System.out.println(entry.getKey() + ":" + entry.getValue()); }
以上代碼中,使用entrySet()方法獲取Map中的所有鍵值對,然後使用forEach循環遍歷所有鍵值對並輸出。
2. 迭代器
迭代器的方式同樣可以遍歷Map中的鍵值對。
以下是迭代器的例子:
Map map = new HashMap(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); Iterator<Map.Entry> iterator = map.entrySet().iterator(); while(iterator.hasNext()) { Map.Entry entry = iterator.next(); System.out.println(entry.getKey() + ":" + entry.getValue()); }
以上代碼中,使用entrySet()方法獲取Map中的所有鍵值對的迭代器,然後使用while循環遍歷迭代器中的所有鍵值對並輸出。
四、總結
Map是Java中常見的一種鍵值對集合,可以使用不同的實現方式進行創建和操作。Map中包含的常用方法有put()、get()、containsKey()、containsValue()等,用於向Map中添加鍵值對、獲取鍵對應的值以及判斷Map中是否存在某個鍵或者某個值等。同時,對於Map的遍歷,可以使用forEach循環或者迭代器來實現。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/185406.html