java面向对象编程集合边框_java 面向对象编程-- 第15章 集合框架
1、? 集合特點:元素類型不同、集合長度可變、空間不固定
2、? java中對一些數據結構和算法進行了封裝即集合。集合也是一種對象,用于存儲、檢索、操作和傳輸對象。
3、? JCF(Java Collections Framework)是JavaSE中包含的由一組類和接口組成的Java集合框架,其主要功能是用來將存儲的數據以某種結構組織,并以特定的方式來訪問這些數據,其目標是提供一個處理對象集合的通用框架,減少程序員處理不同對象集合時的編碼量。
4、? 集合框架包含三個內容:接口、實現類、算法。
Collection是List和Set的父接口。
List的接口特點:線性,元素可以重復。
Set接口的特點:元素不可重復。
Map集合:一個元素包含兩個對象(鍵對象和值對象),而且鍵不能重復。
5、? 集合和數組的區別:
集合中只能存放對象的引用,數組可以是基本類型,可以是引用類型;
集合的長度可以隨元素多少而變化,數組創建好后長度不能改變;
集合算法比較豐富,可以省去開發者很多編碼,數組算法有限。
6、? for循環遍歷,只能用于List集合;迭代器方式(Iterator),得到迭代器的算法接口;for each遍歷循環。
7、? List三個實現類的區別:
ArrayList:底層部分由數組實現,遍歷速度快,中間插入或刪除元素速度慢。
Vector:和ArrayList類似,底層也由數組實現,但它是線程安全的類,效率較低。
LinkedList:采用雙向鏈接實現,存放于不連續的內存空間,每個元素除了存放數據外,還要存放上一個和下一個元素的地址。遍歷速度慢,中間插入、刪除速度快。
8、? Set實現類的區別:
HashSet:將元素按Hash碼排列;
LinkedHashSet:將元素加入順序排列;
TreeSet:可以將元素按指定規則進行排序。
9、? Map實現類的區別:
HashMap:元素按鍵對象的Hash碼排列,線程不安全,允許null鍵和null值;
Hashtable:元素按鍵對象的Hash碼排列,線程安全,不允許null鍵和null值;
TreeMap:元素按照指定的規則排列。
10、????????????? Map接口的優勢:便于查找(根據鍵對象,找到值對象,如果鍵不存在,返回null)。
11、????????????? 當我們需要將對象存入基于哈希算法的HashSet和HashMap中時,需要同時重寫equals()方法和hashCode()方法,并且保證當兩個對象用equals()方法比較結果為true時,這兩個對象的hashCode()方法的返回值相等。
12、????????????? 實現了Comparable接口的類,可以實現自然排序。如果要自定義排序,就要使用Comparator接口。
13、????????????? 如果編寫的類實現了Comparable接口,那么這個類應該重寫compareTo()、equals()和hashCode()方法,保證CompareTo()和equals方法采用相同的比較規則,來比較兩個對象是否相等。
14、????????????? 泛型:就是允許在定義類、接口時指定類型形式參數,這個類型形式參數將在聲明變量、創建對象時確定(即傳入的實際參數)。通過泛型將參數類型化以后,我們就可以強迫程序在編譯期就檢查從集合中取得的數據的類型,以達到數據安全的目的。
原文:http://www.cnblogs.com/littlejava/p/5470608.html
總結
以上是生活随笔為你收集整理的java面向对象编程集合边框_java 面向对象编程-- 第15章 集合框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win7 docker java开发环境
- 下一篇: java中形参不可以是对象吗_(重要)j