日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1.1 JAVA集合

發布時間:2025/3/20 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.1 JAVA集合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java 集合框架

集合框架被設計成要滿足以下幾個目標。

  • 該框架必須是高性能的。基本集合(動態數組,鏈表,樹,哈希表)的實現也必須是高效的。
  • 該框架允許不同類型的集合,以類似的方式工作,具有高度的互操作性。
  • 對一個集合的擴展和適應必須是簡單的。

從下面面的集合框架圖可以看到,Java 集合框架主要包括兩種類型的容器,

  • 一種是集合(Collection),存儲一個元素集合,
  • 另一種是圖(Map),存儲鍵/值對映射。


在編程時,可以使用數組來保存多個對象,但數組長度不可變化,一旦在初始化數組時指定了數組長度,這個數組長度就是不可變的。如果需要保存數量變化的數據,數組就有點無能為力了。

為了保存數量不確定的數據,以及保存具有映射關系的數據(也被稱為關聯數組),Java 提供了集合類。集合類主要負責保存、盛裝其他數據,因此集合類也被稱為容器類。Java 所有的集合類都位于 java.util 包下,提供了一個表示和操作對象集合的統一構架,包含大量集合接口,以及這些接口的實現類和操作它們的算法。

集合類和數組不一樣,數組元素既可以是基本類型的值,也可以是對象(實際上保存的是對象的引用變量),而集合里只能保存對象(實際上只是保存對象的引用變量,但通常習慣上認為集合里保存的是對象)。

Java 集合類型分為 Collection 和 Map,它們是 Java 集合的根接口,這兩個接口又包含了一些子接口或實現類。圖 1 和圖 2 分別為 Collection 和 Map 的子接口及其實現類。

Collection 接口又有 3 種子類型,List、Set 和 Queue,再下面是一些抽象類,最后是具體實現類,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。

集合框架是一個用來代表和操縱集合的統一架構。所有的集合框架都包含如下內容:

  • 接口:是代表集合的抽象數據類型。例如 Collection、List、Set、Map
    等。之所以定義多個接口,是為了以不同的方式操作集合對象
  • 實現(類):是集合接口的具體實現。從本質上講,它們是可重復使用的數據結構,例如:ArrayList、LinkedList、HashSet、HashMap。
  • 算法:是實現集合接口的對象里的方法執行的一些有用的計算,例如:搜索和排序。這些算法被稱為多態,那是因為相同的方法可以在相似的接口上有著不同的實現。

除了集合,該框架也定義了幾個 Map 接口和類。Map 里存儲的是鍵/值對。盡管 Map 不是集合,但是它們完全整合在集合中。

集合接口

接口名稱作 用
Iterator 接口集合的輸出接口,主要用于遍歷輸出(即迭代訪問)Collection 集合中的元素,Iterator 對象被稱之為迭代器。迭代器接口是集合接口的父接口,實現類實現 Collection 時就必須實現 Iterator 接口。
Collection 接口是 List、Set 和 Queue 的父接口,是存放一組單值的最大接口。所謂的單值是指集合中的每個元素都是一個對象。一般很少直接使用此接口直接操作。
Queue 接口Queue 是 Java 提供的隊列實現,有點類似于 List。
Dueue 接口是 Queue 的一個子接口,為雙向隊列。
List 接口是最常用的接口。是有序集合,允許有相同的元素。使用 List 能夠精確地控制每個元素插入的位置,用戶能夠使用索引(元素在 List 中的位置,類似于數組下標)來訪問 List 中的元素,與數組類似。
Set 接口不能包含重復的元素。
Map 接口是存放一對值的最大接口,即接口中的每個元素都是一對,以 key?value 的形式保存。

Java集合實現類的作用

類名稱作用
HashSet為優化査詢速度而設計的 Set。它是基于 HashMap 實現的,HashSet 底層使用 HashMap 來保存所有元素,實現比較簡單
TreeSet實現了 Set 接口,是一個有序的 Set,這樣就能從 Set 里面提取一個有序序列
ArrayList一個用數組實現的 List,能進行快速的隨機訪問,效率高而且實現了可變大小的數組
ArrayDueue是一個基于數組實現的雙端隊列,按“先進先出”的方式操作集合元素
LinkedList對順序訪問進行了優化,但隨機訪問的速度相對較慢。此外它還有 addFirst()、addLast()、getFirst()、getLast()、removeFirst() 和 removeLast() 等方法,能把它當成棧(Stack)或隊列(Queue)來用
HsahMap按哈希算法來存取鍵對象
TreeMap可以對鍵對象進行排序

Set和List的區別

  • Set 接口實例存儲的是無序的,不重復的數據。List 接口實例存儲的是有序的,可以重復的元素。

  • Set檢索效率低下,刪除和插入效率高,插入和刪除不會引起元素位置改變 <實現類有HashSet,TreeSet>。

  • List和數組類似,可以動態增長,根據實際存儲的數據的長度自動增長List的長度。查找元素效率高,插入刪除效率低,因為會引起其他元素位置改變 <實現類有ArrayList,LinkedList,Vector> 。

  • 總結

    以上是生活随笔為你收集整理的1.1 JAVA集合的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 青青草视频在线观看免费 | 日本成人高清 | 麻豆视频在线观看免费网站 | 亚洲视频欧美 | 成人一级在线 | 在线观看一区二区视频 | 无码精品人妻一区二区三区影院 | 狠狠干b | 有码一区二区三区 | 久久久久久久久久影视 | 久久综合婷婷 | 成人国产精品免费观看动漫 | 欧美精品第一区 | 爱爱一区二区三区 | 污视频免费在线观看网站 | 蜜桃免费在线视频 | 成人爽a毛片一区二区 | 在线中文字幕日韩 | av大全免费| 国产精品久久久久久久久久小说 | 99久99| 97人人模人人爽人人少妇 | 日韩图片区 | mm1313亚洲精品| 日韩精品一区二区三区视频 | 国产女主播av| 91九色蝌蚪 | 精品国产亚洲AV | a级片免费看| 女生的胸无遮挡 | 亚洲福利视频网站 | 成年人网站免费视频 | 欧美黑人精品一区二区 | 9久精品 | 欧美一区二区三区影院 | 一区二区三区毛片 | 国产真人毛片 | 天堂久久久久 | 黄色av国产 | 欧洲av无码放荡人妇网站 | 免费精品国产 | 在线观看国产免费视频 | 四季av日韩精品一区 | 欧亚一区二区 | 农村搞破鞋视频大全 | 激情视频在线播放 | 国产精品久久久久久久久久久免费看 | 自拍偷拍亚洲综合 | 午夜国产在线 | 国产一区二区成人 | 欧美不卡在线观看 | 亚洲欧美自拍一区 | 国产精品刘玥久久一区 | 美女写真福利视频 | 晨勃顶到尿h1v1 | 毛片网站在线 | 国产一区二区三区四区五区在线 | 日韩在线视频在线 | 亚洲 美腿 欧美 偷拍 | 性福网站 | 日本久久99 | 久久露脸国语精品国产 | 色爱亚洲 | 女裸全身无奶罩内裤内衣内裤 | 亚洲欧美综合一区二区 | 日韩久久成人 | 日本三级黄在线观看 | www.国产免费| 可以免费观看的毛片 | 欧美成人播放 | 中文字幕日本一区 | 国产精品最新 | 按摩ⅹxxx性hd中国 | 夜夜免费视频 | 99爱视频在线观看 | 日韩视频一 | 免费一级suv好看的国产网站 | 久久久视频在线 | 亚洲精品一区二区三区区别 | 国产精品免费久久久久 | 人人操日日干 | 在线成人播放 | 伊人影院av | 可以免费观看av的网站 | 国产精品一二区在线观看 | 伊人一级片 | 成人午夜高清 | 国产黄色小说 | 高潮毛片无遮挡免费看 | 国产性70yerg老太 | 亚洲AV成人无码网站天堂久久 | av性天堂网| 91成人在线观看喷潮 | 午夜免费福利小视频 | 免费黄色一级片 | 91视频一区二区 | 久久91视频 | 亚洲天堂资源在线 | 白白色视频在线 |