下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、各容器與迭代器的用法(一)關(guān)于迭代器:迭代器有兩個:Enumeration已經(jīng)不是主流,Iterator是它的下一代替代品.(二)關(guān)于容器:Collection FrameWork 如下:Collection(最基本的集合接口)卜List(可以包含重復(fù)元素)j 卜LinkedListi卜ArrayList (線程不安全的,就是不同步的;數(shù)據(jù)增長:默認增長為原來一半) jWector(線程安全的,也就是說是同步的;數(shù)據(jù)增長:默認增長為原來一倍)j LstackLSet(不包含重復(fù)元素)Map(Map是鍵-值的映射關(guān)系)卜Hashtable(基于陳舊的Dictionary類;線程安全,即同步;nu
2、ll不可作為它的key或value)卜HashMap(Map接口的一個實現(xiàn);線程不安全,即不同步;null可作為它的key或value)LWeakHashMaphashtable,hashmap,arraylist,vector,iterator 的實例及總結(jié):(2.1)總結(jié)一:vector,arraylist,hashtable,hashmap:1.都可采用iterator(hasNext()-next()來作為迭代器,也可采用for-size()-get()的方法來進行歷遍.都可用toString()方法來顯示整個容器的內(nèi)容.都可用:if( xx!=null&!xx.isEmpty()來進
3、行判斷.2.vector,arraylist:插入東西都用add(),都可用addAll()加載其它容器的內(nèi)容.hashtable,hashmap:插入東西都用 put(),get(),remove(),clear(),isEmpty(),containsKey().總結(jié)二:hashtable,hashMap:用iterator迭代器時,是用其key來作為歷遍的,即:xx.keySet().iterator+xx.get(it.get(i).而不像 vector,arraylist,直接 xx.iterator().總結(jié)三:hashtable 自 己本身的迭代器是 Emuneration(用方
4、法 xx.keys(),xx.elements(),W不是 iterator.總結(jié)四:將 hashtable,hashmap 的 key 放于 vector,arraylist.如下:Vector ve=new Vector(hashtable1.keySet();ArrayList al=new ArrayList(hashtable1.keySet();總結(jié)五:hashtable,hashmap的數(shù)據(jù),后進先出;vector,arraylist的數(shù)據(jù),先進先出;總結(jié)六:HashSet的方法與arraylist的方法,相同.但hashset不允許內(nèi)容有重復(fù).若有重復(fù)不會報錯,而會 返回一個f
5、asle值.且在進行歷遍時,就可看到效果了.(2.2)實例:import java.util.Enumeration;import java.util.Hashtable;import java.util.HashMap;import java.util.Vector;import java.util.ArrayList;import java.util.Iterator;public class JavaContainerDemo (public static void main(String args)Hashtable ht=new Hashtable();ht.put(0,jason)
6、;ht.put(1,test);ht.put(2,access);if(ht.contains(jason)&ht.containsKey(1)&!ht.isEmpty()ht.remove(2);System.out.println(hashtable,是先入后出);System.out.println(hashtable.keySet():+ht.keySet();System.out.println(hashtable.toString():+ht.toString();System.out.println(* 歷遍方式 一:Enumeration*);Enumeration hte=
7、ht.keys();從hashtable,hashmap獲取出來的key,value的數(shù)據(jù)類型都是:ObjectObject key;while(hte.hasMoreElements()/System.out.println(hashtables key:+hte.nextElement();/System.out.println(hashtables value:+ht.get(hte.nextElement();不能用這樣的方式進行歷遍,在一個while中,使用兩次nextElement(),指針會跳兩次的.應(yīng)該 是:key=hte.nextElement();System.out.pr
8、intln(hashtables key:+key);System.out.println(hashtables value:+ht.get(key);System.out.println(* 歷遍方式二:iterator*);System.out.println(*hashtable 是鍵值對存在的,所以只能用 keySet().iterator*);Iterator hti=ht.keySet().iterator();Object key2;while(hti.hasNext()key2=hti.next();System.out.println(hashtables key:+key2
9、);System.out.println(hashtables value:+ht.get(key2);System.out.println(* 歷遍方式三:for*);for(int i=0;iht.size();i+)System.out.println(hashtables key:+i);System.out.println(hashtables value:+ht.get(i);/ht.clear();HashMap hm=new HashMap();/hm.put(null, null); hashmap 允許 key-value 者K為 nullhm.put(0, hwj);hm
10、.put(1, null);hm.put(2, access);if(hm.containsKey(O)&hm.containsValue(access)&!hm.isEmpty()hm.remove(l);System.out.println(hashmap,也 是先進后出);System.out.println(hashmap.keySet():+hm.keySet();System.out.println(hashmap.toString():+hm.toString();System.out.println(*hashmap 歷遍方式:iterator*);Iterator hmi=h
11、m.keySet().iterator();Object key3;while(hmi.hasNext()key3=hmi.next();System.out.println(hashmaps key:+key3);System.out.println(hashmaps value:+hm.get(key3);System.out.println(*hashmap 歷遍方式二:for*);for(int j=O;jhm.size();j+)System.out.println(hashmaps key:+j);System.out.println(hashmaps value:+hm.get(
12、j);/hm.clear();Vector v=new Vector(ht.keySet();System.out.println(vector 原來的大小:+v.size();v.add(中 國人”);v.addElement(香 港人”);System.out.println(利用 vector.addAll(container)去加載其它容器中的內(nèi)容”);v.addAll(hm.keySet();/v.setElementAt( 數(shù)據(jù) 2, 2);if(v!=null&!v.isEmpty()System.out.println(vector 現(xiàn)在的大小:+v.size();System
13、.out.println(*vecto r:是先入先出 *);System.out.println(vector.toString():+v.toString();System.out.println(*vector 歷遍方式:iterator*);Iterator vi=v.iterator();while(vi.hasNext()System.out.println(vectors value:+vi.next();System.out.println(*vector 歷遍方式二:for*);for(int m=0;mv.size();m+)/System.out.println(vect
14、ors value:+v.get(m);/v.get(m)=v.elementAt(m),arraylis t 沒此方法System.out.println(vectors value:+v.elementAt(m);ArrayList al=new ArrayList(hm.keySet();System.out.println(arraylist 原來的大小:+al.size();al.add(杰森”);System.out.println(利用 arraylist.addAll(container)去加載其它容器中的內(nèi)容); al.addAll(v);if(al!=null&!al.is
15、Empty()System.out.println(arraylist 現(xiàn)在的大小:+al.size();System.out.println(*arraylist:是先入先出 *);System.out.println(*arraylist.toString()+al.toString();System.out.println(*arraylist 歷遍方式:iterator*);Iterator ali=al.iterator();while(ali.hasNext()System.out.println(als value:+ali.next();System.out.println(*arraylist 歷遍方式二:for*);for(int n=0;nal.size();n+)System.out.println(als
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版品德與社會五年級上冊全冊教案
- 開發(fā)耐低溫材料保障極地工程安全
- 現(xiàn)代工程圖學(xué)習(xí)題集答案-第三版-主編楊裕根第3章
- 高一化學(xué)達標訓(xùn)練:第一單元化學(xué)反應(yīng)速率與反應(yīng)限度
- 2024屆西安市航空六一八中學(xué)高考化學(xué)四模試卷含解析
- 2024高中語文第一單元第2課裝在套子里的人提升訓(xùn)練含解析新人教版必修5
- 2024高考地理一輪復(fù)習(xí)第二章地球上的大氣第三講氣壓帶和風(fēng)帶學(xué)案
- 2024高考化學(xué)一輪復(fù)習(xí)第九章有機化合物第一講甲烷乙烯苯規(guī)范演練含解析新人教版
- 貸款違約調(diào)解協(xié)議書
- 大數(shù)據(jù)時代語言學(xué)
- 手術(shù)室應(yīng)對突發(fā)事件、批量傷員應(yīng)急預(yù)案及處理流程
- 動機-行為背后的原因課件
- 尺骨鷹嘴護理查房
- 美國簽證-個人信息表
- 天一大聯(lián)考2024屆物理高一上期末學(xué)業(yè)水平測試試題含解析
- 2-8RLC串聯(lián)交流電路分析
- 2022年淮安市漣水縣輔警考試試卷真題
- 2.1特種設(shè)備安全法、容規(guī)、管規(guī)等法律法規(guī)培訓(xùn)
- 慢性腎病高磷血癥
- 廣告牌計算程序
- 名著:駱駝祥子
評論
0/150
提交評論