1、什麼是集合框架?
在java中,有一套現成的資料結構,例如順序表,鍊表,隊列,棧,優先權隊列,哈希表等,被封裝成了相應的接口/類,供程式設計師直接使用,只需要建立相關的物件即可以使用,而不需要再實現其內部結構。
集合是一種儲存和管理多個元素的資料結構,其中這些元素被置於單一單元中,可透過增加、刪除、修改和查詢等操作進行處理。舉例來說,像是撲克牌(一組牌的集合)、一個通訊錄(一組姓名和電話的映射關係)等都可以作為例子。
下圖很重要! ! !需要牢記其常用的介面和類別! !
因為map介面沒有實作Iterable接口,那麼要遍歷其中的元素該怎麼實作呢?
Map<Integer,String> map = new HashMap(); map.put(1,"jack"); map.put(2,"tom"); Set<Map.Entry<Integer, String>> entries = map.entrySet(); // 使用迭代器进行遍历 ,增强 for同理 Iterator<Map.Entry<Integer, String>> iterator = entries.iterator(); while (iterator.hasNext()) { Map.Entry<Integer, String> entry = iterator.next(); System.out.println(entry.getKey() + " " + entry.getValue()); }
上述以HashMap為例,可以呼叫其entrySet() 方法,將map裡面的每個
基本關係(簡易版)
2、Collection介面
一般是用實作了Collection介面的介面或是類別來接受具體實現類別的對象,因為上圖可以看出,Collection接口是一系列接口和類別的父接口,其內部實現的方法比較少,所以不能調用一些子類有的常見方法。
1.透過泛型來指定對應集合中的物件類型
注意:這裡傳入的型別只能是引用型別,如果是基本資料型別,應該用其包裝類別來指定
Collection<String> collection1 = new ArrayList(); collection1.add("haha"); collection1.add("world"); Collection<Integer> collection2 = new ArrayList(); collection2.add(1); collection2.add(2); //collection2.add("hh");// 这里会报错,不符合传入的指定类型Integer
2.Collection常見方法使用
#方法 | |
---|---|
刪除集合中的所有元素 | |
判斷集合是否沒有任何元素,俗稱空集合 | |
#如果元素e 出現在集合中,刪除其中一個 |
#int size()
傳回集合中的元素數量
Object[] toArray()
#傳回一個裝有所有集合中元素的陣列
注意:在在最後一個Object[] toArray() 方法中,返回的是Object[] 類型的數組,底層的做法是:將集合中的元素一個一個拿出來,將其轉為Object 對象,存入要返回的數組中,最終傳回一個Object[] 類型的陣列。轉換為 String[] 陣列時會引發型別轉換異常。 | |
---|---|
透過鍵值對的形式來儲存數據,此處的key 值唯一,且每個key 值都可以對應其相應的value 值。不同的 key 值可以對應相同的 value 。 HashMap: 在存放元素時,根據其key值,呼叫內部的hashCode函數,找到元素該放入的位置,所以哈希表中元素不是按照存入的順序存放的。 | Map常見方法使用 |
方法 | |
#V get(Object k) | |
V getOrDefault(Object k, V defaultValue) | |
V put(K key, V 值) |
HashMap<Integer, String> map = new HashMap<>(); // put() map.put(1,"张飞");// 这里的 key 值唯一 map.put(1,"宋江");// 如果二次插入的 key 值之前有,则替换其 value值 map.put(2,"Jack"); System.out.println(map); // get() String s1 = map.get(1);// 返回 宋江 String s3 = map.getOrDefault(3,"三团");// 未找到,返回 三团 // entrySet() // 该方法返回一个 Set<Map.Entry<Integer, String>> 对象 Set<Map.Entry<Integer, String>> entries = map.entrySet(); for (Map.Entry<Integer, String> entry : entries) { // 通过 entry.getKey() 和 entry.getValue() 获取每个entry对应的 k, v值 System.out.println(entry.getKey() + " " + entry.getValue()); }
4、具体的实现类
以上是Java集合框架的資料結構是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaachievesPlatFormIndependencethroughTheJavavIrtualMachine(JVM),允許Codetorunondifferentoperatingsystemsswithoutmodification.thejvmcompilesjavacodeintoplatform-interploplatform-interpectentbybyteentbytybyteentbybytecode,whatittheninternterninterpretsandectectececutesoneonthepecificos,atrafficteyos,Afferctinginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginging

JavaispoperfulduetoitsplatFormitiondence,對象與偏見,RichstandardLibrary,PerformanceCapabilities和StrongsecurityFeatures.1)Platform-dimplighandependectionceallowsenceallowsenceallowsenceallowsencationSapplicationStornanyDevicesupportingJava.2)

Java的頂級功能包括:1)面向對象編程,支持多態性,提升代碼的靈活性和可維護性;2)異常處理機制,通過try-catch-finally塊提高代碼的魯棒性;3)垃圾回收,簡化內存管理;4)泛型,增強類型安全性;5)ambda表達式和函數式編程,使代碼更簡潔和表達性強;6)豐富的標準庫,提供優化過的數據結構和算法。

javaisnotirelyplatemententedduetojvmvariationsandnativecodinteinteration,butitlargelyupholdsitsitsworapromise.1)javacompilestobytecoderunbythejvm

thejavavirtualmachine(JVM)IsanabtractComputingmachinecrucialforjavaexecutionasitrunsjavabytecode,使“ writeononce,runanywhere”能力

Javaremainsagoodlanguageduetoitscontinuousevolutionandrobustecosystem.1)Lambdaexpressionsenhancecodereadabilityandenablefunctionalprogramming.2)Streamsallowforefficientdataprocessing,particularlywithlargedatasets.3)ThemodularsystemintroducedinJava9im

Javaisgreatduetoitsplatformindependence,robustOOPsupport,extensivelibraries,andstrongcommunity.1)PlatformindependenceviaJVMallowscodetorunonvariousplatforms.2)OOPfeatureslikeencapsulation,inheritance,andpolymorphismenablemodularandscalablecode.3)Rich

Java的五大特色是多態性、Lambda表達式、StreamsAPI、泛型和異常處理。 1.多態性讓不同類的對象可以作為共同基類的對象使用。 2.Lambda表達式使代碼更簡潔,特別適合處理集合和流。 3.StreamsAPI高效處理大數據集,支持聲明式操作。 4.泛型提供類型安全和重用性,編譯時捕獲類型錯誤。 5.異常處理幫助優雅處理錯誤,編寫可靠軟件。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境