亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

Java中具有映射關系的容器:數組和Map的區別說明

瀏覽:6日期:2022-08-24 10:24:35

映射就意味著有兩部分;

存儲映射關系的容器是數組和Map集合;

區別:

(1)當映射關系中的一方是有序編號時,這個時候要想到數組這種結構;

(2)Map不一定需要有序編號,它只能建立對象之間的關系;

(3)如果映射的兩方沒有任何一方是有序的編號,就不能想數組了,這時應該用集合中具備映射關系的容器Map。

注意:

(1)Map中鍵相同時,鍵值會被覆蓋;

(2)Map中一個Key可以對應一個集合,因為集合也是一個對象,集合也能往集合中放。

(3)Map<int,char>這樣寫是不正確的,因為,泛型中定義的必須是引用數據類型,所以,要找int和char的對象的包裝類即Map<Integer,Character>

補充知識:Java基礎:集合(容器)—Collection和Map兩大體系介紹和用法

Java中具有映射關系的容器:數組和Map的區別說明

集合類的作用

集合類也叫做容器類,和數組一樣,用于存儲數據,但數組類型單一,并且長度固定,限制性很大,而集合類可以動態增加長度。

集合存儲的元素都是對象(引用地址),所以集合可以存儲不同的數據類型,但如果是需要比較元素來排序的集合,則需要類型一致。

集合中提供了統一的增刪改查方法,使用方便。

支持泛型,避免數據不一致和轉換異常,還對常用的數據結構進行了封裝。

集合框架體系的組成

集合框架體系是由Collection、Map(映射關系)和Iterator(迭代器)組成,各部分的作用如下所示。

Collection體系中有三種集合:Set、List、Queue

Set(集): 元素是無序的且不可重復。

List(列表):元素是有序的且可重復。

Queue(隊列):封裝了數據結構中的隊列。

Map體系

Map用于保存具有映射關系的數據,即key-value(鍵值對)。Map集合的key是唯一的,不可重復,而value可以重復。所以一個value可以對應多個key。

Map體系除了常用類之外,還有Properties(屬性類)也屬于Map體系。

Iterator(迭代器)

基本功能就是遍歷集合中的所有元素,除了List集合有一個獨有的迭代器Listiterator,別的集合類都是一樣的。

每個集合類都有iterator(),調用該方法就能得到迭代器對象。

如果List集合使用迭代器,建議使用ListIterator,比原有的迭代器多了一些方法。

除了使用迭代器遍歷集合元素,也可以使用加強for和Java8的foreach()方法。如果是List集合,使用for循環也能做到。

Collection接口方法

Collection是Set、List和Queue接口的父接口,Set、List、Queue的子類都能使用如下方法。

boolean add(E e)_______________________________添加指定元素boolean addAll(Collection c)___________________將指定集合中所有元素都添加到此 collectionboolean contains(Object o)_____________________集合中是否包含了指定元素boolean containsAll(Collection<?> c)___________該集合是否包含指定集合中所有元素boolean remove(Object o)_______________________移除指定元素boolean removeAll(Collection<?> c)_____________移除指定的collection參數的所有元素void clear()___________________________________清除集合中所有元素boolean retainAll(Collection<?> c)_____________保留指定Collection參數中元素,是兩個集合的元素交集boolean equals(Object o)_______________________比較此 collection 與指定對象是否相等boolean isEmpty()______________________________判斷該集合是否為空Iterator<E> iterator()_________________________返回此 collection 的迭代器,用來遍歷元素int hashCode()_________________________________返回集合的哈希碼值int size()_____________________________________返回此 collection 中的元素數Object[] toArray()_____________________________返回一個包含該Collection所有元素的對象數組<T> T[] toArray(T[] a)_________________________返回一個包含該Collection所有元素的數組,數組類型和指定數組的類型一致

Map接口方法

boolean containsKey(Object key)________________該映射是否包含指定鍵值 boolean containsValue(Object value)____________如果該鍵值對中有一個或多個key射到指定值,則返回 true Set<Map.Entry<K,V>> entrySet()_________________返回此映射中包含的映射關系的 Set 視圖。 Set<K> keySet()________________________________返回此映射中所有鍵的 Set 視圖。 Collection<V> values()_________________________返回一個此映射中包含的值的 Collection V get(Object key)______________________________返回指定鍵映射的值。如果不存在,則返回 null V put(K key, V value)__________________________放入一個鍵值對(key-value) void putAll(Map<? extends K,? extends V> m)____把指定映射的所有映射關系復制到此映射中 boolean isEmpty()______________________________如果此映射未包含鍵值映射關系,則返回 true boolean equals(Object o)_______________________比較指定的對象與此映射是否相等 int size()_____________________________________返回此映射中的鍵-值映射關系數 int hashCode()_________________________________返回此映射的哈希碼值

以上這篇Java中具有映射關系的容器:數組和Map的區別說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 免费看一级视频 | 伊人热久久 | 99精品国产一区二区三区 | 日韩一级黄色毛片 | 欧洲女同互慰在线视频 | 国内自拍网站 | 一区二区三区不卡视频 | 免费国产一级特黄久久 | 久久久久综合给合狠狠狠 | aaa免费看 | 色盈盈影院 | 91香蕉视频成人 | 精品一区二区三区免费视频 | 精品午夜寂寞黄网站在线 | 亚洲精品高清国产麻豆专区 | 成人深夜福利在线播放不卡 | 一级做a爱 一区 | 中文字幕99在线精品视频免费看 | 国产在线手机视频 | 黄网在线观看免费网站台湾swag | a在线观看欧美在线观看 | 一个人看的www日本高清视频 | 毛片在线播放网站 | 亚洲七七久久精品中文国产 | 欧美成人在线网站 | 国产91精品久久久久久久 | 国产成人免费永久播放视频平台 | 国产成人精品免费视频大全可播放的 | 最新中文字幕乱码在线 | 亚洲精品久久一区二区无卡 | 久久精品视频观看 | 亚洲图片偷拍区 | 手机看片神马午夜片 | 久久国产精品1区2区3区网页 | 欧美国产日韩在线播放 | 草草久久97超级碰碰碰免费 | 国产欧美日韩精品第一区 | 久草在线视频新时代视频 | 欧美在线乱妇一级毛片 | 国产精品理论片在线观看 | 日本一视频一区视频二区 |