中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Map的常用方法有哪些

發布時間:2021-12-22 15:27:02 來源:億速云 閱讀:178 作者:iii 欄目:開發技術

本篇內容主要講解“Map的常用方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Map的常用方法有哪些”吧!

set底層是默認value的map

Map的常用方法

//介紹Map接口的方法

Map<String, String> map = new HashMap<>();

//1.增加

//V put(K key,V value)  增加一個鍵值對

//關于返回值,如果當前的key之前沒有添加過,返回null.如果當前的key之前已經存在了,這里返回之前的值

//void putAll(Map<? extends K,? extends V> map)  增加多個

//2.刪除

//V remove(Object key)  根據key刪除元素

//返回值就是被刪掉的值

//void clear()  刪除全部  != null

//3.獲取

//V get(Object key)  根據key查找元素

//int size()  獲取鍵值對的個數

//Set<K> keySet()   遍歷方法一

//Set<Map.Entry<K,V>> entrySet() 遍歷方法二

//4.常用的判斷

//boolean isEmpty()  //空map!=null

//boolean containsKey(K key) 是否包含當前的key

//boolean containsValue(V value) 是否包含當前的value

## 一、HashMap

底層是哈希表,線程不安全

**哈希表結構**

![yuanli](G:\bigdata\week2\7-31\資料\hash表\Hash表.assets\yuanli.png)

### 2.HashMap與HashTable區別

1.HashTable是線程安全的

2.HashTable的key不能為空

## 二、TreeMap

底層是二叉樹,線程不安全

/*

 * TreeMap的注意點:

 * 1.什么類型的數據類型可以作為key?

 * a:實現了Comparable接口的compareTo()方法   b:實現了Comparator接口的compare()方法

 * 可以的代表:String,包裝類,自定義的實現了要求的類

 * 不可以的代表:數組,ArrayList,LinkedList(如果給他們建立的比較器也可以比較,但是不建議使用)

 *

 * 2.元素可不可以作為key,跟元素內部的成員有沒有關系

 * 元素可不可以作為key,跟元素內部的成員有沒有關系

 */

public class Demo5 {

public static void main(String[] args) {

TreeMap<Dog, String> map = new TreeMap<>();

//如果沒有重寫compareTo或者compare方法,put內部無法調用元素的這兩個方法.所以會報錯

map.put(new Dog(), "haha");

}

}

class Dog implements Comparable<Dog>{

//2.元素可不可以作為key,跟元素內部的成員有沒有關系

Object object;

@Override

public int compareTo(Dog o) {

// TODO Auto-generated method stub

return 0;

}

}

```

# 可變參數

```

public static void main(String[] args) {

sum(2, 3);//值傳遞

//址傳遞

int[] arr = {3,4,5};

sum(arr);

//可變參數

//可變參數的特點

//1.給可變參數傳值的實參可以直接寫,個數不限制,內部會自動的將他們放入可變數組中.

sum1(5,6,7,8,9,3,3,4);

//2.當包括可變參數在內有多個參數時,可變參數必須放在最后面,并且一個方法中最多只能有一個可變參數

sum2(6,3);

//3.當可變參數的方法與固定參數的方法是重載關系時,調用的順序,固定參數的優先于可變參數的.

sum3(2,3);

}

//求兩個數的和

//值傳遞

public static int sum(int a,int b) {

return a+b;

}

//址傳遞

public static int sum(int[] a) {

int sum = 0;

for (int i = 0; i < a.length; i++) {

sum+=a[i];

}

return sum;

}

//通過可變參數

//構成:數據類型+...    實際上就是數據類型[]  即:int[]

public static int sum1(int... a) {

int sum = 0;

for (int i = 0; i < a.length; i++) {

sum+=a[i];

}

return sum;

}

//2.當包括可變參數在內有多個參數時,可變參數必須放在最后面,并且一個方法中最多只能有一個可變參數

public static void sum2(float b,int... a) {

int sum = 0;

for (int i = 0; i < a.length; i++) {

sum+=a[i];

}

System.out.println(sum);

}

//3.當可變參數的方法與固定參數的方法是重載關系時,調用的順序,固定參數的優先于可變參數的.

public static int sum3(int a, int b) {

System.out.println("a");

int sum = 0;

return sum;

}

public static int sum3(int... a) {

System.out.println("b");

int sum = 0;

return sum;

}

```

到此,相信大家對“Map的常用方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

map
AI

宁阳县| 社会| 方城县| 额尔古纳市| 海兴县| 乐清市| 茂名市| 福安市| 繁峙县| 陈巴尔虎旗| 张家口市| 彭阳县| 青川县| 郴州市| 宁晋县| 鲁甸县| 清水河县| 镇雄县| 大丰市| 江北区| 交口县| 青冈县| 徐汇区| 永春县| 义马市| 色达县| 大新县| 沾化县| 章丘市| 石阡县| 攀枝花市| 荆门市| 鄱阳县| 奉化市| 东乡族自治县| 莲花县| 洛南县| 昌乐县| 闽侯县| 清原| 上饶市|