今天是開學(xué)第一天,按照上學(xué)期的講課進(jìn)度,本該是可以開始學(xué)習(xí)多線程了,但是由于換了老師,可能交接方面有點(diǎn)出入,又給我們講授了一遍java對(duì)象容器,所以這也是為什么題目為“再學(xué)”。
本文目錄:
- 集合的主要用途
- 單值類集合:List類與Set類
- 鍵值對(duì)類集合:Map類
集合的主要用途:集合主要在查詢數(shù)據(jù)返回的時(shí)候常用。比如要使用jsp做一個(gè)學(xué)生信息管理系統(tǒng),需要從數(shù)據(jù)庫(kù)中返回查詢學(xué)生的結(jié)果,把這些結(jié)果放入一個(gè)集合里,再通過方法返回,在顯示層(view)可以使用jsp標(biāo)簽來把他們顯示出來。
單值類集合:單值類集合包括List與Set這兩大類,兩類都是繼承自Collection根接口。在這兩大接口類中又可以細(xì)分為好幾個(gè)實(shí)現(xiàn)該接口的類,主要有一下這幾個(gè):
List
優(yōu)點(diǎn) | 缺點(diǎn) | 特點(diǎn) | |
ArrayList | 便于集合快速隨機(jī)訪問 | 刪除效率低 | 異步 |
LinkedList | 便于插入和刪除對(duì)象 | 隨機(jī)訪問效率低 | ----- |
List迭代方式:迭代list可以用get(Index)方法,也可以使用增強(qiáng)的for循環(huán)foreach來迭代,亦可使用迭代器來遍歷。
Set
treeSet | 有序的,自然數(shù)排序,但是必須實(shí)現(xiàn)Comparable接口,重寫ComoareTo()方法。 | 不可重復(fù) |
HashSet | 無序的,主要依據(jù)equals和hashcode判斷是否是同一對(duì)象 | 不可重復(fù) |
Set的迭代不能使用get方法,可以使用迭代器和增強(qiáng)的for循環(huán)來遍歷。
Map
課堂上主要將了HashMap,它是一種鍵值對(duì)集合,鍵Key是不允許重復(fù)的,一個(gè)鍵只能對(duì)應(yīng)一個(gè)值,但是一個(gè)值可以對(duì)應(yīng)多個(gè)鍵。常用來在不同頁(yè)面之間傳遞數(shù)據(jù)。比如在jsp中使用的request.setAttribute() / getAttribute()就是使用此種集合實(shí)現(xiàn)的。
HashMap有一個(gè)方法 entrySet()值得一提。
public Set<Map.Entry<K,V>> entrySet()
此方法返回此映射中所包含的映射關(guān)系set的試圖,通俗來說,也就是裝有以一對(duì)一對(duì)的<K,V>的實(shí)體的set中(裝在set中)此時(shí)可以使用迭代set的方法去迭代每一個(gè)HashMap實(shí)體。
=========================END=================
第一次寫博客感覺好蛋疼,用到是Window Live Writer,代碼也沒貼,圖也沒有,草草幾句就收?qǐng)觯偢杏X這編輯器用的不是那么順手,不如Word,寫起來像吃蒼蠅一樣不順暢, 我是不是不適合寫博客?這么高大上的東西。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注