日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

java的Collections框架的理解

瀏覽:80日期:2024-06-15 13:28:36
內(nèi)容: 在Java 2的Collections框架中,主要包括兩個(gè)接口及其擴(kuò)展和實(shí)現(xiàn)類:Collection接口和Map接口。兩者的區(qū)別在于前者存儲(chǔ)一組對象,后者則存儲(chǔ)一些關(guān)鍵字/值對。public interface java.util.Map { //Altering Methods public Object put(Object key, Object value); public Object remove(Object key); public void putAll(java.util.Map); public void clear(); //Querying Methods public Object get(Object key); public int size(); public boolean isEmpty(); public boolean containsKey(Object); public boolean containsValue(Object); public boolean equals(Object); //Viewing Methods public java.util.Set keySet(); //Gets keys public java.util.Collection values(); //Gets values public java.util.Set entrySet(); //Gets mappings public static interface java.util.Map.Entry { //a map-entry (single key/value pair) public Object getKey(); //returns current entry key public Object getValue(); //returns current entry value public Object setValue(Object value); public boolean equals(Object); public int hashCode(); }}Map接口提供了方便易用的方法,通過這些方法可以查詢、查看、修改當(dāng)前Map的內(nèi)容。注意對于Map接口的keySet()方法返回一個(gè)Set,Set是Collection接口的一個(gè)擴(kuò)展,包含不重復(fù)的一組對象。因?yàn)镸ap中的key是不可重復(fù)的,所以得到所有key的keySet()方法返回一個(gè)Set對象。Map接口本身還包含了一個(gè)Map.Entry接口,一個(gè)Map.Entry就是Map中的一個(gè)關(guān)鍵字/值對。Map接口中的entrySet()方法就返回了一個(gè)集合對象,其中每一個(gè)元素都實(shí)現(xiàn)了Map.Entry接口。Map接口的get(Object key),put(Object key,Object value),和remove(Object key)方法都有同一個(gè)問題。他們的返回類型都是Object,當(dāng)返回null時(shí),可以猜測為調(diào)用那個(gè)方法前那個(gè)key不存在。但是只有在null不允許作為Map的值時(shí)可以這樣猜測。所有Map接口的通用實(shí)現(xiàn)都允許null作為key或者value,這就說當(dāng)返回一個(gè)null值,就可以意味著很多事情。只是因?yàn)橥ㄓ脤?shí)現(xiàn)允許null值,你不能下那個(gè)映射有null值的結(jié)論。如果你確知沒有null值,那返回null值就意味著調(diào)用那個(gè)方法前,映射里并沒有那個(gè)鍵。否則,你必須調(diào)用containsKey(Object key)來看看那個(gè)Key是否存在。Hashtablejava.util.Hashtable實(shí)現(xiàn)了Map接口,在Hashtable中使用key對象的hashCode()作為對應(yīng)的對象的相對存儲(chǔ)地址,以便實(shí)現(xiàn)根據(jù)關(guān)鍵字快速查找對象的功能。所以只有一個(gè)實(shí)現(xiàn)了hashCode()和equals()方法的對象才可作為Hashtable的key。null值不能作為關(guān)鍵字或值。public class java.util.Hashtable extends Dictionary implements Cloneable, Map, Serializable { //Hashtable constructors //construct a default Hashtable with default capacity and load of 0.75 public Hashtable(); //construct a Hashtable with passed capacity and default load of 0.75 public Hashtable (int initialCapacity); //construct Hashtable with passed capacity and load public Hashtable(int initialCapacity, float load); //construct Hashtable with passed mapping public Hashtable(Map); //Hashtable specific methods //checks if Object is in Hashtable public boolean contains(Object); //returns Enumeration of elements in Hashtable public Enumeration elements(); //returns Enumeration of keys in hashtable public Enumeration keys(); //creates shallow copy of Hashtable(structure copied, but not key/values) public Object clone(); //prints out key/value pairs of Hashtable elements public String toString(); //reorganizes all elements in Hashtable, and increases Hashtable capacity protected void rehash(); //get Value from passed in key public Object get(Object); //insert key/value pair public Object put(Object key, Object value); }Hashtable是Java 2集合框架推出之前的一個(gè)老的工具類,在新的Java 2集合框架下,已經(jīng)被HashMap取代。Hashtable和HashMap的區(qū)別主要是前者是同步的,后者是快速失敗機(jī)制保證不會(huì)出現(xiàn)多線程并發(fā)錯(cuò)誤(Fast-Fail)。在初始化一個(gè)Hashtable時(shí),可以指定兩個(gè)參數(shù):初始容量、負(fù)荷,這兩個(gè)參數(shù)強(qiáng)烈的影響著Hashtable的性能。容量是指對象的個(gè)數(shù),負(fù)荷是指散列表中的實(shí)際存儲(chǔ)的對象個(gè)數(shù)和容量的比率。如果初始容量太小,那么Hashtable需要不斷的擴(kuò)容并rehash(),而這是很耗時(shí)的;如果初始容量太大,又會(huì)造成空間的浪費(fèi)。負(fù)荷則相反,負(fù)荷太小會(huì)造成空間浪費(fèi),負(fù)荷太大又會(huì)耗時(shí)(因?yàn)檫@會(huì)造成較多的關(guān)鍵字的散列碼重復(fù),Hashtable使用一個(gè)鏈接表來存儲(chǔ)這些重復(fù)散列碼的對象)。容量的缺省值是11,負(fù)荷的缺省值是0.75,一般情況下你都可以使用缺省值來生成一個(gè)Hashtable。另外,在Hashtable中的大部分的方法都是同步的。HashMapHashMap基本實(shí)現(xiàn)了Map接口的全部方法。方法的簽名大家看上面的Map接口。這兒主要說說幾個(gè)Map接口中的方法。按照集合框架的實(shí)現(xiàn),哈希表是單鏈表作為元素的數(shù)組,有著同樣索引值的兩個(gè)或更多入口被一起鏈結(jié)到單鏈表中。哈希表聲明如下: private Entry[] table;組件類型Entry是Map.Entry接口的實(shí)現(xiàn),Map.Entry聲明于Map接口內(nèi)。下邊是Map.Entry接口的簡化實(shí)現(xiàn): private static class Entry implements Map.Entry{ int hashCode; Object key; Object value; Entry next; Entry(int hashCode,Object key,Object value,Entry next){ This.hashCode=hashCode; This.key=key; This.value=value; This.next=next; } public Object getKey(){ return key; } public Object getValue(){ return value; } public Object setValue(Object value){ Object oldValue=this.value; This.value=value; Return oldValue; }}SortedMap是Map接口的子接口,SortedMap的標(biāo)準(zhǔn)實(shí)現(xiàn)是TreeMap,實(shí)現(xiàn)了一個(gè)排序的Map。這里翻譯的是對《Java 規(guī)則》(Java Rules)中對Java2的集合框架的研究。詳細(xì)可以參考Java2源碼中的集合實(shí)現(xiàn)代碼和API doc。 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产亚洲高清视频| 亚洲一区二区三区高清不卡| 国产精品毛片久久久| 精品三级国产| 日韩久久电影| 国产亚洲一级| 欧美一区二区三区久久| 国产精品毛片一区二区在线看| www成人在线视频| 日韩制服丝袜先锋影音| 国产伦理久久久久久妇女| www.九色在线| 欧美综合国产| 麻豆精品视频在线观看| 精品中文一区| 每日更新成人在线视频| 国产精品色在线网站| 日韩欧美视频专区| 亚洲精品免费观看| 吉吉日韩欧美| 1000部精品久久久久久久久| av不卡免费看| 日本不卡在线视频| 免费日韩一区二区三区| 加勒比视频一区| 久久久久久美女精品| 国产亚洲精品v| 日韩精品一区二区三区中文 | 欧美精品三级在线| 免费一级欧美在线观看视频| 成人日韩在线| 久久性天堂网| 国产亚洲一区| 亚洲国产福利| 欧美日韩国产探花| 日韩二区三区四区| 激情不卡一区二区三区视频在线| 色婷婷久久久| 亚洲婷婷丁香| 免费在线播放第一区高清av| 国产成人精品亚洲线观看| 91久久久精品国产| 亚洲欧美网站在线观看| 日韩av在线免费观看不卡| 久久永久免费| 亚洲二区三区不卡| 欧美精品中文| 99精品视频在线观看免费播放| 亚洲专区视频| 精品伊人久久久| 亚洲精品在线观看91| 麻豆精品国产91久久久久久| 免费久久99精品国产| 成人在线网站| 美日韩一区二区三区| 亚洲久久一区| japanese国产精品| 91亚洲国产成人久久精品| 国产色99精品9i| 国产麻豆精品久久| 中文亚洲欧美| 国产一区二区三区日韩精品| 另类国产ts人妖高潮视频| 久久不见久久见中文字幕免费| 欧美性感美女一区二区| 国产精品毛片aⅴ一区二区三区| 91精品1区| 精品视频在线观看网站| 亚洲专区视频| 99久久精品费精品国产| 国产精品v一区二区三区| 丝袜诱惑制服诱惑色一区在线观看 | 青青草伊人久久| 久久精品中文| 国产精品3区| 一级欧美视频| 亚洲性视频h| 久久免费精品| 日韩综合小视频| 亚洲电影在线一区二区三区| 久久精品国产亚洲一区二区三区| 亚洲天堂日韩在线| 国产一区久久| 国产精品原创| 91午夜精品| 亚洲在线免费| 99久久夜色精品国产亚洲1000部| 免费视频一区二区三区在线观看| 亚洲一级淫片| 亚洲免费观看| 亚洲福利国产| 三上悠亚国产精品一区二区三区| 欧美精品国产白浆久久久久| 免费在线观看成人| 欧美精品一二| 久久久精品网| 成人国产综合| 国产福利一区二区三区在线播放| 亚洲91在线| 国产一区成人| 国产一区亚洲| 久久久精品久久久久久96| 成人在线免费观看91| 国产精品麻豆成人av电影艾秋 | 人人香蕉久久| av高清不卡| av日韩中文| 精品国产第一福利网站| 久久精品女人| 麻豆一区在线| 久久尤物视频| 国产欧美日韩在线一区二区 | 日韩成人精品一区二区三区| 久久午夜精品| 欧美日韩国产一区精品一区| 亚洲高清毛片| 激情综合网站| 黄色亚洲大片免费在线观看| 韩国精品主播一区二区在线观看| 国产一区二区三区亚洲综合| 久久99偷拍| 欧美亚洲tv| 欧美亚洲免费| 国产精品亚洲欧美一级在线| 欧美黑人巨大videos精品| 国产精品成人国产| 里番精品3d一二三区| 精品久久免费| 日韩欧美视频专区| 久久精选视频| 国产精品av一区二区| 黄色精品网站| 亚洲在线观看| 亚洲精品综合| 久久国产婷婷国产香蕉| 美女视频网站久久| 国产在线一区不卡| 中文在线免费视频| 999国产精品永久免费视频app| 精品在线91| 亚洲视频国产| 国产精品男女| 91亚洲一区| 五月天激情综合网| 亚洲人成亚洲精品| 久久99精品久久久野外观看| 中文字幕高清在线播放| 成人av二区| 五月亚洲婷婷 | 国产一区福利| 精品国模一区二区三区| 樱桃成人精品视频在线播放| 综合色就爱涩涩涩综合婷婷| 国产精品免费大片| 色在线中文字幕| 99视频+国产日韩欧美| 日本a口亚洲| 日本一二区不卡| 欧美在线观看视频一区| 亚洲免费网址| 国产日韩精品视频一区二区三区| 国产一区丝袜| 婷婷亚洲五月| 91九色综合| 日韩毛片视频| 亚洲精品美女| 91精品韩国| 亚洲精品综合| 国产成人精品一区二区三区视频 | 日韩成人精品一区二区三区 | 美女视频黄 久久| 久久人人精品| 亚洲+小说+欧美+激情+另类| 国产一区二区三区不卡视频网站| 在线成人动漫av| 日韩av资源网| 日韩啪啪电影网| 日本在线成人| 丝袜美腿诱惑一区二区三区 | 国产成人精品一区二区三区免费 | 国内自拍视频一区二区三区| 好吊日精品视频| 欧美激情久久久久久久久久久| 欧美不卡高清| 国产色噜噜噜91在线精品| 亚洲一本视频| 欧美日韩1区2区3区| 亚洲国产影院| 国产精品a级| 亚洲激情婷婷| 免费日韩成人| 免费在线观看日韩欧美| 国产精品伦理久久久久久| 综合亚洲自拍| 日韩欧美一区免费| 91在线成人| 亚洲免费激情| 久久男人av资源站| 欧美亚洲二区| 国产精品毛片一区二区三区|