日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > Java基礎――集合(二)――迭代器、Map集合

Java基礎――集合(二)――迭代器、Map集合

來源:程序員人生   發布時間:2015-06-12 08:53:27 閱讀次數:3617次

         接上篇,《Java基礎――集合(1)――集合體系和Collection》

4.迭代器的使用

使用步驟:

         1、通過集合對象獲得迭代器對象。

         2、通過迭代器對象判斷。

         3、通過迭代器對象獲得。

迭代器原理

         由于多種集合的數據結構不同,所以存儲方式不同,所以,取出方式也不同。

         這個時候,我們就把判斷和獲得功能定義在了1個接口中,將來,遍歷哪一種集合的時候,只要該集合內部實現這個接口便可。

迭代器源碼

          

public interface Iterator { publicabstract boolean hasNext(); publicabstract Object next(); } publicinterface Collection { publicabstract Iterator iterator(); } publicinterface List extends Collection { ... } publicclass ArrayList implements List { publicIterator iterator() { returnnew Itr(); } privateclass Itr implements Iterator { publicboolean hasNext(){...} publicObject next(){...} } }

Collection存儲字符串和自定義對象并通過迭代器遍歷

                   1、存儲字符串

Collectionc = new ArrayList(); c.add("hello"); c.add("world"); c.add("java"); Iteratorit = c.iterator(); while(it.hasNext()) { Strings = (String)it.next(); System.out.println(s); }

 

                   2、存儲自定義對象(Student類的代碼省略)

Collection c=newArrayList(); Student s1=newStudent("林青霞",26); c.add("s1"); Iteratorit=c.iterator(); while(it.hasNext()) { Strings=(String)it.next(); System.out.println(s); }

ListIterator迭代器是Iterator的子接口

            所以List的遍歷方式共有3種

                   1、Iterator迭代器

                   2、ListIterator迭代器

                   3、普通for+get()

5.Map

map是1個鍵值對情勢的集合。它的元素都是有鍵和值組成。Map的鍵(key)是唯1的,(value)可以重復。


Map的功能:

                   A:添加功能

                                     V put(K key ,V value) :當key在集合中不存在是,添加元素;當key存在時替換元素

                   B:判斷功能

                                     booleancontainsKey (Object key) :判斷指定的鍵是不是在集合中存在

                                     BooleancontainsValue(Object value):判斷指定的值是不是在集合中存在

                                     BooleanisEmpty() :判斷集合是不是為空

                   C:刪除功能

                                     Voidclear():清除所有鍵值對數據

                   D:獲得功能

                                     Objectget (Object key) :根據鍵獲得值

                                     Set<K> keyset(): 所有鍵的集合

                                     Collection<V>values() :所有值的集合

                  E:長度功能

                                     Intsize()

 

Map包括HashMap、HashTable和TreeMap。其中,HashTable已基本被HashMap取代,這里不做討論。

Map遍歷的兩種方式:(導圖上面已有,這里直接上代碼了)

鍵找值:

public static void main(String[] args) { Map<String,Integer>map = new HashMap<String,Integer>(); map.put("2陽",23); map.put("2崢",24); map.put("2光",25); Set<String> keys=map.keySet(); //把鍵其中起來,存入到set集合中. for(Stringkey:keys){ //遍歷鍵集合,獲得每個鍵。增強for Integervalue=map.get(key); //讓鍵去找值 get(Object key) System.out.println(key+"***"+value); } }

鍵值對:

public static void main(String[] args) { Map<String,Integer>map = new HashMap<String,Integer>(); map.put("2陽",23); map.put("2崢",24); map.put("2光",25); Set<Map.Entry<String,Integer>> set=map.entrySet(); //獲得鍵值對集合。Set<> entrySet() for(Map.Entry<String,Integer> me:set){ //遍歷鍵值對集合,獲得到每個鍵值對。增強for,迭代器 Stringkey=me.getKey(); //通過鍵值對獲得鍵getKey() Integervalue=me.getValue(); //通過鍵值對獲得值getValue() System.out.println(key+"***"+value); } }

             

            未完待續,下篇為泛型+增強for+工具類

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------

上一篇 ANR異常

下一篇 讀大文件到mysql

分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产三区视频 | 很黄很色的网站 | 欧美日韩成人 | 性做久久久久久免费观看欧美 | 91看污 | 青草福利 | 亚洲一区二区视频在线 | 激情五月激情综合网 | 黑人爆操 | 久久精品久久久精品美女 | 五月天婷婷社区 | 精品视频在线免费观看 | 久久久久久九九 | 爱情岛论坛首页永久网址 | 国产午夜视频 | 久久日av | 成人精品一区二区三区校园激情 | 国产一级免费 | 免费a v网站 | 亚洲一区二区三区四区在线观看 | 国产视频亚洲精品 | 成人97精品毛片免费看 | 国产一区二区三区四区在线观看 | 日韩欧美精品在线 | 日韩欧美综合在线视频 | 久久久久国产亚洲日本 | 成人毛片网站 | 国产黄大片在线观看 | 日韩免费网站 | www.久久久| 国产精品精品视频 | 久久精品久久久 | 久久国产精品无码网站 | 性色av一区| 亚洲国产一区二区在线 | 欧洲av一区| 欧美日韩一区三区 | 亚洲黄色一区二区三区 | swag国产精品一区二区 | 美女视频黄的 | 色综合久久久久 |