版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、2024/3/21,Java 常用類講解2,IBM Learning & Development,2,Java 常用類講解2,2024/3/21,Agenda,List接口和ArrayList類Map接口和HashMap類Properties類,3,Java 常用類講解2,2024/3/21,Objective,熟練掌握List的使用及遍歷熟練掌握Map的使用及遍歷熟練掌握Properties的讀取和保存,4,Java
2、常用類講解2,2024/3/21,Java 2簡化集合類框架圖,5,Java 常用類講解2,2024/3/21,java.util.List接口,此接口的用戶可以對列表中每個元素的插入位置進行精確地控制。用戶可以根據(jù)元素的整數(shù)索引(在列表中的位置)訪問元素,并搜索列表中的元素。,6,Java 常用類講解2,2024/3/21,java.util.List常用方法,add() (E o) 向列表的尾部追加指定的元素(object 類
3、型)get(int index) 返回列表中指定位置的元素。size() 返回列表中的元素數(shù)。isEmpty() 判斷列表是否為空iterator() 返回以正確順序在列表的元素上進行迭代的迭代器 remove(int index)移除此列表中指定位置上的元素。 remove(Object o)從列表中移除指定元素的單個實例(如果存在),7,Java 常用類講解2,2024/3/21,java.util.Lis
4、t接口的實現(xiàn)類,ArrayList和Vector實現(xiàn)了List 接口,相當于大小可變數(shù)組 。 因為實現(xiàn)同一接口,故方法一樣區(qū)別ArrayList線程不同步,效率更高Vector線程同步,更安全,8,Java 常用類講解2,2024/3/21,數(shù)據(jù)的添加,List list = new ArrayList ();// 也可以為List list = new Vector();for (int i = 0; i < 10
5、; i++){ Employee e = new Employee(); list.add ( e );},9,Java 常用類講解2,2024/3/21,數(shù)據(jù)的取得1,for (int i = 0; i < list.size(); i++) { Employee e = (Employee ) list.get(i);},10,Java 常用類講解2,2
6、024/3/21,Practice 1,測試List先創(chuàng)建一個類Person,內(nèi)有屬性name, age, country創(chuàng)建出若干Person對象,并給出不同屬性創(chuàng)建ArrayList對象判斷List對象是否為空放入剛才新建所有Person對象打印出List的大小打印出List中第一個元素的所有屬性打印出List中所有元素的所有屬性,11,Java 常用類講解2,2024/3/21,java.util.ListIter
7、ator接口,List.listIterator()返回ListIterator 接口ListIterator接口的方法 : hasNext() 測試是否還有元素。next() 返回列表中的下一個元素。,12,Java 常用類講解2,2024/3/21,數(shù)據(jù)的取得2,ListIterator liter = list.listIterator (); while
8、 (liter.hasNext ()){ Employee e = (Employee) liter.next(); },13,Java 常用類講解2,2024/3/21,Practice 2,測試List先創(chuàng)建一個類Person,內(nèi)有屬性name, age, country創(chuàng)建出若干Person對象,并給出不同屬性創(chuàng)建ArrayList對象放入剛才新建所有Person對象調(diào)用ListIterator遍
9、歷打印出 List中所有元素的所有屬性,14,Java 常用類講解2,2024/3/21,java.util.Map接口,,將鍵映射到值的對象。 也就是說可以用鍵來訪問列表中的數(shù)據(jù)。實現(xiàn)Map接口的常用類有HashMap, Hashtable。區(qū)別HashMap線程不安全,效率更高HashTable線程安全,安全性更高注意:一個map對象不能保存兩個相同的鍵.每個鍵最多和一個值對應.,15,Java 常用類講解2,
10、2024/3/21,java.util.Map接口的方法,put(K key, V value) 把一個對象放進列表中get(Object key) 返回指定鍵所對應的對象。containsKey(Object key)如果此映射包含指定鍵的映射關系,則返回 true。remove(Object key) 刪除指定鍵對應的對象values()返回映射中所有值的視圖集Collection,16,Java 常用類講解2,2024
11、/3/21,HashMap數(shù)據(jù)的添加,,Map m = new HashMap ();Employee e = new Employee ();m.put ("abc123", e);其中鍵值“abc123”是自己定義的一個關鍵字。如果列表中已經(jīng)有了這個鍵的對象,將會被覆蓋。,17,Java 常用類講解2,2024/3/21,HashMap數(shù)據(jù)的取得,Employee e = (Employee) m. ge
12、t ("abc123");,18,Java 常用類講解2,2024/3/21,HashMap的遍歷,Iterator iter = m.entrySet().iterator ();while (iter.hasNext ()) { Map.Entry me = (Map.Entry)iter.next (); e = (Employee) me.getValue ();
13、 System.out.println (e.toString ());},19,Java 常用類講解2,2024/3/21,Practice 3,測試HashMap先創(chuàng)建一個類Person,內(nèi)有屬性name, age, country創(chuàng)建出若干Person對象,并給出不同屬性 其中一個對象name為“張三”創(chuàng)建HashMap對象放入剛才新建所有Person對象做為value 并以person的name
14、屬性做為key查找是否有“張三”的對象,并請打印出其所有屬性遍歷整個Map刪除“張三”對象,20,Java 常用類講解2,2024/3/21,java.util.Hashtable類,此類實現(xiàn)一個哈希表,除了可以像 HashMap那樣用put(),get()方法來訪問列表的各個元素外,還實現(xiàn)了Enumeration接口 。,21,Java 常用類講解2,2024/3/21,Hashtable數(shù)據(jù)的添加,Hashtable ht =
15、 new Hashtable();Employee e = new Employee ();ht.put (“one”, e);,22,Java 常用類講解2,2024/3/21,Hashtable數(shù)據(jù)的取得,Employee e = (Employee) ht. get (“one”);if (e != null) { System.out.println(“ one = ” + e.toString()); },2
16、3,Java 常用類講解2,2024/3/21,java.util.Enumeration接口,Hashtable. elements()返回Enumeration接口Enumeration接口的方法 : hasMoreElements() 測試此枚舉是否包含更多的元素。 nextElement() 返回此枚舉的下一個元素。,24,Java 常用類講解2,2024/3/21,Ha
17、shtable的遍歷,Enumeration enum = ht.keys ();while (enum.hasMoreElements ()){ String ssn = (String) enum.nextElement (); e = (Employee) ht.get (ssn); System.out.println (ssn + " " + e.getName () );},25,
18、Java 常用類講解2,2024/3/21,Practice 4,測試HashTable的遍歷先創(chuàng)建一個類Person,內(nèi)有屬性name, age, country創(chuàng)建出若干Person對象,并給出不同屬性 其中一個對象name為“張三”創(chuàng)建HashTable對象放入剛才新建所有Person對象做為value 并以person的name屬性做為key遍歷整個HashTable,26,Java 常用類講解2,2024
19、/3/21,Properties對象,在程序運行中,經(jīng)常會遇到需要加載一些動態(tài)數(shù)據(jù)的情況。這個時候,就會在一個配置文件里面寫入配置好的鍵值對鍵值對的格式是=例:,27,Java 常用類講解2,2024/3/21,Properties常用方法,load(InputStream inStream) 從輸入流中讀取屬性列表(鍵和元素對 )getProperty(String key) 用指定的鍵在此屬性列表中搜索屬性。setPr
20、operty(String key, String value) 設置屬性列表中指定鍵為指定值store(OutputStream out, String comments)將屬性列表保存,28,Java 常用類講解2,2024/3/21,Practice 5,練習使用Properties創(chuàng)建一個文本文件,里面寫入鍵值對startDate=2009-1-1password=123456保存至硬盤使用Properties對
21、象載入該文件打印出startDate和password相應的值改寫password值并添加一個新值new_property將所有數(shù)據(jù)保存回properties文件,29,Java 常用類講解2,2024/3/21,Homework 1,從Properties文件中讀取一組Person對象信息(姓名,年齡,日期)從控制臺輸入一組Person對象信息從一個文本文件中讀取一組Person對象信息(如下)張三201988-3-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論