持有物件的管理(容器)

2021-08-08 07:19:39 字數 1135 閱讀 3017

collection 存放單一的物件,map存放鍵值對。你可以用泛型制定插入的型別。使用的泛型的好處是在獲取,插入物件的時候,不必為型別的轉換而煩惱。

特性:key-value,鍵值對,用的非常多,能夠在開發中解決很多問題。使用的比較頻繁的是hashmap和hashset,基於雜湊的存放,效能也比較好。

基於陣列,建立數字索引與物件的關聯,因為list都是有序性的。如果要大量的隨機訪問建議使用arraylist,因為他是基於陣列索引的方式查詢。如果要大量的插入,刪除元素,建議使用linkedlist,因為他是基於鍊錶結構,因為鍊錶結構,在插入的時候只需要記住頭部節點和尾部節點。

當有乙個結構並需要另乙個介面時,編寫介面卡就行解決問題。例如遍歷的iterable。就是很好的例子,返回乙個iterable物件,裡面包含iterator的遍歷,就不用覆蓋iterator了。

每個容器都有自己的迭代器,foreach是基於陣列的,也可以基於iterable介面,迭代器也是一種設定模式,在容器中都有屬於自己的迭代器,一般對這個物件進行迭代,只要獲取到他的迭代器就行獲得這個物件的所有內容了。

不接受重複的值,hashset提供最快的查詢速度,而treeset保持元素處於排序狀態,linkedhashset已插入順序保持元素。

linkedlist 有基於完整的棧的操作,想addfirst(),removefirst()等,能夠實現棧的操作,同時也能進行佇列的操作。所以所有的queue都是基於linkedlist的。

在新程式中不建議使用,因為都過時了。

關於容器的繼承關係,可能比較不讓人理解,也很奇怪。容器的類庫設計一直都是設計難題,解決這些難題一般涉及到經常要滿足彼此之間互為牽制的各方面需求,所以我們應該學會中庸之道。

持有物件(容器)

1。collection。list必須按插入的順序儲存元素,而set不能有重複元素。queue按照排隊規則來確定物件的順序。2。map。一組成對的鍵值對物件。3。array.aslist 接受乙個陣列或用逗號分隔的元素列表,將其裝換成乙個list物件。collections.addall 接受乙個c...

初識docker 管理容器資料

管理容器資料 到目前為止,我們已經介紹了 docker 的一些基本概念,了解了如何使用 docker 映象,以及容器之間如何通過網路連線。本節,我們來討論如何管理容器和容器間的共享資料。接下來,我們將主要介紹 docker 管理資料的兩種主要的方法 資料卷 資料卷是指在存在於乙個或多個容器中的特定目...

Flex 4 使用容器 API 管理容器子元素

url spark group容器 skinnablecontainer容器以及所有的halo容器,為管理容器的子元素提供屬性和方法。因為spark group容器和skinnablecontainer容器能夠持有很多種子元素,所以用來操縱其子元素的方法指的是擁有通用名稱的子元素。下面的 展示了這些...