Set,List,Mapçåºå«
javaéåç主è¦å为ä¸ç§ç±»åï¼
Setï¼éï¼
Listï¼å表ï¼
Mapï¼æ å°ï¼
è¦æ·±å
¥ç解éåé¦å
è¦äºè§£ä¸æ们çæçæ°ç»ï¼
æ°ç»æ¯å¤§å°åºå®çï¼å¹¶ä¸åä¸ä¸ªæ°ç»åªè½åæ¾ç±»åä¸æ ·çæ°æ®ï¼åºæ¬ç±»å/å¼ç¨ç±»åï¼ï¼èJAVAéåå¯ä»¥åå¨åæä½æ°ç®ä¸åºå®çä¸ç»æ°æ®ã ææçJAVAéåé½ä½äº java.utilå
ä¸ï¼ JAVAéååªè½åæ¾å¼ç¨ç±»åççæ°æ®ï¼ä¸è½åæ¾åºæ¬æ°æ®ç±»åã
ç®å说ä¸éååæ°ç»çåºå«ï¼(åèæç« ï¼ãThinking In Algorithmã03.æ°æ®ç»æä¹æ°ç»)
[html] view plain copy print?
<span style="font-family:Microsoft YaHei;font-size:12px;">ä¸é´ä¸æ¬æ¥æ²¡æéå,(åªææ°ç»åèCè¯è¨)ä½æ人æ³è¦,æ以æäºéå
æ人æ³æå¯ä»¥èªå¨æ©å±çæ°ç»,æ以æäºList
æç人æ³æ没æéå¤çæ°ç»,æ以æäºset
æ人æ³æèªå¨æåºçç»æ°,æ以æäºTreeSet,TreeList,Tree**
èå ä¹ææçéåé½æ¯åºäºæ°ç»æ¥å®ç°ç.
å 为éåæ¯å¯¹æ°ç»åçå°è£
,æ以,æ°ç»æ°¸è¿æ¯ä»»ä½ä¸ä¸ªéåè¦å¿«
ä½ä»»ä½ä¸ä¸ªéå,æ¯æ°ç»æä¾çåè½è¦å¤
ä¸ï¼æ°ç»å£°æäºå®å®¹çº³çå
ç´ çç±»åï¼èéåä¸å£°æãè¿æ¯ç±äºéå以objectå½¢å¼æ¥åå¨å®ä»¬çå
ç´ ã
äºï¼ä¸ä¸ªæ°ç»å®ä¾å
·æåºå®ç大å°ï¼ä¸è½ä¼¸ç¼©ãéååå¯æ ¹æ®éè¦å¨ææ¹å大å°ã
ä¸ï¼æ°ç»æ¯ä¸ç§å¯è¯»/å¯åæ°æ®ç»æï¼ï¼ï¼æ²¡æåæ³å建ä¸ä¸ªåªè¯»æ°ç»ãç¶èå¯ä»¥ä½¿ç¨éåæä¾çReadOnlyæ¹æ³ï¼ä»¥åªè¯»æ¹å¼æ¥ä½¿ç¨éåã该æ¹æ³å°è¿åä¸ä¸ªéåçåªè¯»çæ¬ã</span>
Javaææâåå¨åéæºè®¿é®ä¸è¿ä¸²å¯¹è±¡âçåæ³ï¼arrayæ¯æææççä¸ç§ã
1ã
æçé«ï¼ä½å®¹éåºå®ä¸æ æ³å¨ææ¹åã
arrayè¿æä¸ä¸ªç¼ºç¹æ¯ï¼æ æ³å¤æå
¶ä¸å®é
åæå¤å°å
ç´ ï¼lengthåªæ¯åè¯æ们arrayç容éã
2ãJavaä¸æä¸ä¸ªArraysç±»ï¼ä¸é¨ç¨æ¥æä½arrayã
arraysä¸æ¥æä¸ç»staticå½æ°ï¼
equals()ï¼æ¯è¾ä¸¤ä¸ªarrayæ¯å¦ç¸çãarrayæ¥æç¸åå
ç´ ä¸ªæ°ï¼ä¸ææ对åºå
ç´ ä¸¤ä¸¤ç¸çã
fill()ï¼å°å¼å¡«å
¥arrayä¸ã
sort()ï¼ç¨æ¥å¯¹arrayè¿è¡æåºã
binarySearch()ï¼å¨æ好åºçarrayä¸å¯»æ¾å
ç´ ã
System.arraycopy()ï¼arrayçå¤å¶ã
è¥æ°åç¨åºæ¶ä¸ç¥é究ç«éè¦å¤å°å¯¹è±¡ï¼éè¦å¨ç©ºé´ä¸è¶³æ¶èªå¨æ©å¢å®¹éï¼åéè¦ä½¿ç¨å®¹å¨ç±»åºï¼arrayä¸éç¨ãæ以就è¦ç¨å°éåã
é£æ们å¼å§è®¨è®ºjavaä¸çéåã
éååç±»ï¼
Collectionï¼ListãSet
Mapï¼HashMapãHashTable
1.1 Collectionæ¥å£
Collectionæ¯æåºæ¬çéåæ¥å£ï¼å£°æäºéç¨äºJAVAéåï¼åªå
æ¬SetåListï¼çéç¨æ¹æ³ã Set åList é½ç»§æ¿äºConllection,Mapã
1.1.1 Collectionæ¥å£çæ¹æ³ï¼
[html] view plain copy print?
<span style="font-weight: normal;">boolean add(Object o) ï¼åéåä¸å å
¥ä¸ä¸ªå¯¹è±¡çå¼ç¨
void clear()ï¼å é¤éåä¸ææç对象ï¼å³ä¸åææè¿äºå¯¹è±¡çå¼ç¨
boolean isEmpty() ï¼å¤æéåæ¯å¦ä¸ºç©º
boolean contains(Object o) ï¼ å¤æéåä¸æ¯å¦ææç¹å®å¯¹è±¡çå¼ç¨
Iterartor iterator() ï¼è¿åä¸ä¸ªIterator对象ï¼å¯ä»¥ç¨æ¥éåéåä¸çå
ç´
boolean remove(Object o) ï¼ä»éåä¸å é¤ä¸ä¸ªå¯¹è±¡çå¼ç¨
int size() ï¼è¿åéåä¸å
ç´ çæ°ç®
Object[] toArray() ï¼ è¿åä¸ä¸ªæ°ç»ï¼è¯¥æ°ç»ä¸å
æ¬éåä¸çææå
ç´ </span>
å
³äºï¼Iterator() åtoArray() æ¹æ³é½ç¨äºéåçææçå
ç´ ï¼åè
è¿åä¸ä¸ªIterator对象ï¼åè
è¿åä¸ä¸ªå
å«éåä¸ææå
ç´ çæ°ç»ã
1.1.2 Iteratoræ¥å£å£°æäºå¦ä¸æ¹æ³ï¼
[html] view plain copy print?
hasNext()ï¼å¤æéåä¸å
ç´ æ¯å¦éåå®æ¯ï¼å¦æ没æï¼å°±è¿åtrue
next() ï¼è¿åä¸ä¸ä¸ªå
ç´
remove()ï¼ä»éåä¸å é¤ä¸ä¸ä¸ªænext()æ¹æ³è¿åçå
ç´ ã
1.2 Set(éå)
Setæ¯æç®åçä¸ç§éåãéåä¸ç对象ä¸æç¹å®çæ¹å¼æåºï¼å¹¶ä¸æ²¡æéå¤å¯¹è±¡ã Setæ¥å£ä¸»è¦å®ç°äºä¸¤ä¸ªå®ç°ç±»ï¼
HashSetï¼ HashSetç±»æç
§åå¸ç®æ³æ¥ååéåä¸ç对象ï¼ååé度æ¯è¾å¿«
TreeSet ï¼TreeSetç±»å®ç°äºSortedSetæ¥å£ï¼è½å¤å¯¹éåä¸ç对象è¿è¡æåºã
Set çç¨æ³ï¼åæ¾çæ¯å¯¹è±¡çå¼ç¨ï¼æ²¡æéå¤å¯¹è±¡
Set set=new HashSet(); String s1=new String("hello"); String s2=s1; String s3=new String("world"); set.add(s1); set.add(s2); set.add(s3); System.out.println(set.size());//æå°éåä¸å¯¹è±¡çæ°ç® 为 2ã
Set ç add()æ¹æ³æ¯å¦ä½å¤æ对象æ¯å¦å·²ç»åæ¾å¨éåä¸ï¼
boolean isExists=false; Iterator iterator=set.iterator(); while(it.hasNext()) { String oldStr=it.next(); if(newStr.equals(oldStr)){ isExists=true; } }
Setçåè½æ¹æ³
Set
å
·æä¸Collectionå®å
¨ä¸æ ·çæ¥å£ï¼å æ¤æ²¡æä»»ä½é¢å¤çåè½ï¼ä¸ååé¢æ两个ä¸åçListãå®é
ä¸Setå°±æ¯Collection,åª
æ¯è¡ä¸ºä¸åã(è¿æ¯ç»§æ¿ä¸å¤æææ³çå
¸ååºç¨ï¼è¡¨ç°ä¸åçè¡ä¸ºã)Setä¸ä¿åéå¤çå
ç´ (è³äºå¦ä½å¤æå
ç´ ç¸ååè¾ä¸ºè´è´£)
Set : åå
¥Setçæ¯ä¸ªå
ç´ é½å¿
é¡»æ¯å¯ä¸çï¼å 为Setä¸ä¿åéå¤å
ç´ ãå å
¥Setçå
ç´ å¿
é¡»å®ä¹equals()æ¹æ³ä»¥ç¡®ä¿å¯¹è±¡çå¯ä¸æ§ãSetä¸Collectionæå®å
¨ä¸æ ·çæ¥å£ãSetæ¥å£ä¸ä¿è¯ç»´æ¤å
ç´ ç次åºã
HashSetï¼ä¸ºå¿«éæ¥æ¾è®¾è®¡çSetãåå
¥HashSetç对象å¿
é¡»å®ä¹hashCode()ã
TreeSetï¼ ä¿å次åºçSet, åºå±ä¸ºæ ç»æã使ç¨å®å¯ä»¥ä»Setä¸æåæåºçåºåã
LinkedHashSetï¼å
·æHashSetçæ¥è¯¢é度ï¼ä¸å
é¨ä½¿ç¨é¾è¡¨ç»´æ¤å
ç´ ç顺åº(æå
¥ç次åº)ãäºæ¯å¨ä½¿ç¨è¿ä»£å¨éåSetæ¶ï¼ç»æä¼æå
ç´ æå
¥ç次åºæ¾ç¤ºã
1.3 List(å表)
Listçç¹å¾æ¯å
¶å
ç´ ä»¥çº¿æ§æ¹å¼åå¨ï¼éåä¸å¯ä»¥åæ¾éå¤å¯¹è±¡ã
Listæ¥å£ä¸»è¦å®ç°ç±»å
æ¬ï¼ï¼åèæç« ï¼ArrayListä¸LinkedListçåºå«ï¼
ArrayList() : 代表é¿åº¦å¯ä»¥æ¹åå¾æ°ç»ãå¯ä»¥å¯¹å
ç´ è¿è¡éæºç访é®ï¼åArrayList()ä¸æå
¥ä¸å é¤å
ç´ çé度æ
¢ã
LinkedList(): å¨å®ç°ä¸éç¨é¾è¡¨æ°æ®ç»æãæå
¥åå é¤é度快ï¼è®¿é®é度æ
¢ã
对äºListçéæºè®¿é®æ¥è¯´ï¼å°±æ¯åªéæºæ¥æ£ç´¢ä½äºç¹å®ä½ç½®çå
ç´ ã List ç get(int index) æ¹æ³æ¾åéåä¸ç±åæ°indexæå®çç´¢å¼ä½ç½®ç对象ï¼ä¸æ ä»â0â å¼å§ãæåºæ¬ç两ç§æ£ç´¢éåä¸çææ对象çæ¹æ³ï¼
1ï¼ for循ç¯åget()æ¹æ³ï¼
for(int i=0; i<list.size();i++){ System.out.println(list.get(i)); }
2ï¼ ä½¿ç¨ è¿ä»£å¨ï¼Iteratorï¼:
Iterator it=list.iterator(); while(it.hashNext()){ System.out.println(it.next()); }
Listçåè½æ¹æ³
å®é
ä¸æ两ç§Listï¼ä¸ç§æ¯åºæ¬çArrayList,å
¶ä¼ç¹å¨äºéæºè®¿é®å
ç´ ï¼å¦ä¸ç§æ¯æ´å¼ºå¤§çLinkedList,å®å¹¶ä¸æ¯ä¸ºå¿«ééæºè®¿é®è®¾è®¡çï¼èæ¯å
·æä¸å¥æ´éç¨çæ¹æ³ã
Listï¼
次åºæ¯Listæéè¦çç¹ç¹ï¼å®ä¿è¯ç»´æ¤å
ç´ ç¹å®ç顺åºãList为Collectionæ·»å äºè®¸å¤æ¹æ³ï¼ä½¿å¾è½å¤åListä¸é´æå
¥ä¸ç§»é¤å
ç´ (è¿åªæ¨
èLinkedList使ç¨ã)ä¸ä¸ªListå¯ä»¥çæListIterator,使ç¨å®å¯ä»¥ä»ä¸¤ä¸ªæ¹åéåList,ä¹å¯ä»¥ä»Listä¸é´æå
¥å移é¤å
ç´ ã
ArrayListï¼ç±æ°ç»å®ç°çListãå
许对å
ç´ è¿è¡å¿«ééæºè®¿é®ï¼ä½æ¯åListä¸é´æå
¥ä¸ç§»é¤å
ç´ çé度å¾æ
¢ãListIteratoråªåºè¯¥ç¨æ¥ç±åååéå ArrayList,èä¸æ¯ç¨æ¥æå
¥å移é¤å
ç´ ãå 为é£æ¯LinkedListå¼éè¦å¤§å¾å¤ã
LinkedList ï¼
对顺åºè®¿é®è¿è¡äºä¼åï¼åListä¸é´æå
¥ä¸å é¤çå¼é并ä¸å¤§ãéæºè®¿é®åç¸å¯¹è¾æ
¢ã(使ç¨ArrayList代æ¿ã)è¿å
·æä¸åæ¹
æ³ï¼addFirst(), addLast(), getFirst(), getLast(), removeFirst() å
removeLast(), è¿äºæ¹æ³ (没æå¨ä»»ä½æ¥å£æåºç±»ä¸å®ä¹è¿)使å¾LinkedListå¯ä»¥å½ä½å æ ãéååååéå使ç¨ã
1.4 Map(æ å°)
Map æ¯ä¸ç§æé®å¯¹è±¡åå¼å¯¹è±¡æ å°çéåï¼å®çæ¯ä¸ä¸ªå
ç´ é½å
å«ä¸å¯¹é®å¯¹è±¡åå¼å¯¹è±¡ã Map没æ继æ¿äºCollectionæ¥å£ ä»Mapéåä¸æ£ç´¢å
ç´ æ¶ï¼åªè¦ç»åºé®å¯¹è±¡ï¼å°±ä¼è¿å对åºçå¼å¯¹è±¡ã
Map ç常ç¨æ¹æ³ï¼
1 æ·»å ï¼å é¤æä½ï¼
[html] view plain copy print?
Object put(Object key, Object value)ï¼ åéåä¸å å
¥å
ç´
Object remove(Object key)ï¼ å é¤ä¸KEYç¸å
³çå
ç´
void putAll(Map t)ï¼ å°æ¥èªç¹å®æ åçææå
ç´ æ·»å ç»è¯¥æ å
void clear()ï¼ä»æ åä¸å é¤æææ å°
2 æ¥è¯¢æä½ï¼
Object get(Object key)ï¼è·å¾ä¸å
³é®åkeyç¸å
³çå¼ ãMapéåä¸çé®å¯¹è±¡ä¸å
许éå¤ï¼ä¹å°±è¯´ï¼ä»»æ两个é®å¯¹è±¡éè¿equals()æ¹æ³æ¯è¾çç»æé½æ¯false.ï¼ä½æ¯å¯ä»¥å°ä»»æå¤ä¸ªé®ç¬äº«æ å°å°åä¸ä¸ªå¼å¯¹è±¡ä¸ã
Mapçåè½æ¹æ³
æ¹æ³put(Object key, Object
value)æ·»å ä¸ä¸ªâå¼â(æ³è¦å¾ä¸è¥¿)åä¸âå¼âç¸å
³èçâé®â(key)(使ç¨å®æ¥æ¥æ¾)ãæ¹æ³get(Object
key)è¿åä¸ç»å®âé®âç¸å
³èçâå¼âãå¯ä»¥ç¨containsKey()åcontainsValue()æµè¯Mapä¸æ¯å¦å
å«æ个âé®âæâå¼âã
æ åçJavaç±»åºä¸å
å«äºå ç§ä¸åçMapï¼HashMap, TreeMap, LinkedHashMap,
WeakHashMap,
IdentityHashMapãå®ä»¬é½æåæ ·çåºæ¬æ¥å£Mapï¼ä½æ¯è¡ä¸ºãæçãæåºçç¥ãä¿å对象ççå½å¨æåå¤å®âé®âçä»·ççç¥çåä¸ç¸åã
æ§è¡æçæ¯Mapçä¸ä¸ªå¤§é®é¢ãççget()è¦å
åªäºäºï¼å°±ä¼æç½ä¸ºä»ä¹å¨ArrayListä¸æç´¢âé®âæ¯ç¸å½æ
¢çãèè¿æ£æ¯HashMapæé«é
度çå°æ¹ãHashMap使ç¨äºç¹æ®çå¼ï¼ç§°ä¸ºâæ£åç â(hash
code)ï¼æ¥å代对é®çç¼æ
¢æç´¢ãâæ£åç âæ¯âç¸å¯¹å¯ä¸âç¨ä»¥ä»£è¡¨å¯¹è±¡çintå¼ï¼å®æ¯éè¿å°è¯¥å¯¹è±¡çæäºä¿¡æ¯è¿è¡è½¬æ¢èçæçãææJava对象é½
è½äº§çæ£åç ï¼å 为hashCode()æ¯å®ä¹å¨åºç±»Objectä¸çæ¹æ³ã
HashMapå°±æ¯ä½¿ç¨å¯¹è±¡çhashCode()è¿è¡å¿«éæ¥è¯¢çãæ¤æ¹æ³è½å¤æ¾çæé«æ§è½ã
Map : ç»´æ¤âé®å¼å¯¹âçå
³èæ§ï¼ä½¿ä½ å¯ä»¥éè¿âé®âæ¥æ¾âå¼â
HashMapï¼Mapåºäºæ£å表çå®ç°ãæå
¥åæ¥è¯¢âé®å¼å¯¹âçå¼éæ¯åºå®çãå¯ä»¥éè¿æé å¨è®¾ç½®å®¹écapacityåè´è½½å åload factorï¼ä»¥è°æ´å®¹å¨çæ§è½ã
LinkedHashMapï¼ ç±»ä¼¼äºHashMapï¼ä½æ¯è¿ä»£éåå®æ¶ï¼åå¾âé®å¼å¯¹âç顺åºæ¯å
¶æå
¥æ¬¡åºï¼æè
æ¯æè¿æå°ä½¿ç¨(LRU)ç次åºãåªæ¯HashMapæ
¢ä¸ç¹ãèå¨è¿ä»£è®¿é®æ¶åèæ´å¿«ï¼å 为å®ä½¿ç¨é¾è¡¨ç»´æ¤å
é¨æ¬¡åºã
TreeMap ï¼
åºäºçº¢é»æ æ°æ®ç»æçå®ç°ãæ¥çâé®âæâé®å¼å¯¹âæ¶ï¼å®ä»¬ä¼è¢«æåº(次åºç±ComparabelæComparatorå³å®)ãTreeMapçç¹ç¹å¨
äºï¼ä½ å¾å°çç»ææ¯ç»è¿æåºçãTreeMapæ¯å¯ä¸ç带æsubMap()æ¹æ³çMapï¼å®å¯ä»¥è¿åä¸ä¸ªåæ ã
WeakHashMao ï¼å¼±é®(weak key)Mapï¼Mapä¸ä½¿ç¨ç对象ä¹è¢«å
许éæ¾: è¿æ¯ä¸ºè§£å³ç¹æ®é®é¢è®¾è®¡çãå¦æ没æmapä¹å¤çå¼ç¨æåæ个âé®âï¼åæ¤âé®âå¯ä»¥è¢«åå¾æ¶éå¨åæ¶ã
IdentifyHashMapï¼ : 使ç¨==代æ¿equals()对âé®âä½æ¯è¾çhash mapãä¸ä¸ºè§£å³ç¹æ®é®é¢è设计ã
1.4 åºå«
1.4.1ãCollection å Map çåºå«
容å¨å
æ¯ä¸ªä¸ºä¹æåå¨çå
ç´ ä¸ªæ°ä¸åã
Collectionç±»åè
ï¼æ¯ä¸ªä½ç½®åªæä¸ä¸ªå
ç´ ã
Mapç±»åè
ï¼ææ key-value pairï¼å个å°åæ°æ®åºã
1.4.2ãåèªæä¸çåç±»å
³ç³»
Collection
--Listï¼å°ä»¥ç¹å®æ¬¡åºåå¨å
ç´ ãæ以ååºæ¥ç顺åºå¯è½åæ¾å
¥é¡ºåºä¸åã
--ArrayList / LinkedList / Vector
--Set ï¼ ä¸è½å«æéå¤çå
ç´
--HashSet / TreeSet
Map
--HashMap
--HashTable
--TreeMap
1.4.3ãå
¶ä»ç¹å¾
Listï¼Setï¼Mapå°ææ对象ä¸å¾è§ä¸ºObjectåå«ã
CollectionãListãSetãMapé½æ¯æ¥å£ï¼ä¸è½å®ä¾åã
继æ¿èªå®ä»¬ç ArrayList, Vector, HashTable, HashMapæ¯å
·è±¡classï¼è¿äºæå¯è¢«å®ä¾åã
vector容å¨ç¡®åç¥éå®æææç对象é¶å±ä»ä¹åå«ãvectorä¸è¿è¡è¾¹çæ£æ¥ã
æ»ç»
1. å¦ææ¶åå°å æ ï¼éåçæä½ï¼åºè¯¥èèç¨Listï¼å¯¹äºéè¦å¿«éæå
¥ï¼å é¤å
ç´ ï¼åºè¯¥ä½¿ç¨LinkedListï¼å¦æéè¦å¿«ééæºè®¿é®å
ç´ ï¼åºè¯¥ä½¿ç¨ArrayListã
2. å¦æç¨åºå¨å线ç¨ç¯å¢ä¸ï¼æè
访é®ä»
ä»
å¨ä¸ä¸ªçº¿ç¨ä¸è¿è¡ï¼èèéåæ¥çç±»ï¼å
¶æçè¾é«ï¼å¦æå¤ä¸ªçº¿ç¨å¯è½åæ¶æä½ä¸ä¸ªç±»ï¼åºè¯¥ä½¿ç¨åæ¥çç±»ã
3. å¨é¤éè¦æåºæ¶ä½¿ç¨TreeSet,TreeMapå¤,é½åºä½¿ç¨HashSet,HashMap,å 为ä»ä»¬ çæçæ´é«ã
4. è¦ç¹å«æ³¨æ对åå¸è¡¨çæä½ï¼ä½ä¸ºkeyç对象è¦æ£ç¡®å¤åequalsåhashCodeæ¹æ³ã
5. 容å¨ç±»ä»
è½ææ对象å¼ç¨ï¼æå对象çæéï¼ï¼èä¸æ¯å°å¯¹è±¡ä¿¡æ¯copyä¸ä»½è³æ°åæä½ç½®ãä¸æ¦å°å¯¹è±¡ç½®å
¥å®¹å¨å
ï¼ä¾¿æ失äºè¯¥å¯¹è±¡çåå«ä¿¡æ¯ã
6. å°½éè¿åæ¥å£èéå®é
çç±»åï¼å¦è¿åListèéArrayListï¼è¿æ ·å¦æ以åéè¦å°ArrayListæ¢æLinkedListæ¶ï¼å®¢æ·ç«¯ä»£ç ä¸ç¨æ¹åãè¿å°±æ¯é对æ½è±¡ç¼ç¨ã
注æï¼
1ãCollection没æget()æ¹æ³æ¥åå¾æ个å
ç´ ãåªè½éè¿iterator()éåå
ç´ ã
2ãSetåCollectionæ¥æä¸æ¨¡ä¸æ ·çæ¥å£ã
3ãListï¼å¯ä»¥éè¿get()æ¹æ³æ¥ä¸æ¬¡ååºä¸ä¸ªå
ç´ ã使ç¨æ°åæ¥éæ©ä¸å 对象ä¸çä¸ä¸ªï¼get(0)...ã(add/get)
4ãä¸è¬ä½¿ç¨ArrayListãç¨LinkedListæé å æ stackãéåqueueã
5ãMapç¨ put(k,v) / get(k)ï¼è¿å¯ä»¥ä½¿ç¨containsKey()/containsValue()æ¥æ£æ¥å
¶ä¸æ¯å¦å«ææ个key/valueã
HashMapä¼å©ç¨å¯¹è±¡çhashCodeæ¥å¿«éæ¾å°keyã
6ãMapä¸å
ç´ ï¼å¯ä»¥å°keyåºåãvalueåºååç¬æ½ååºæ¥ã
使ç¨keySet()æ½åkeyåºåï¼å°mapä¸çæækeysçæä¸ä¸ªSetã
使ç¨values()æ½åvalueåºåï¼å°mapä¸çæævaluesçæä¸ä¸ªCollectionã
为ä»ä¹ä¸ä¸ªçæSetï¼ä¸ä¸ªçæCollectionï¼é£æ¯å 为ï¼keyæ»æ¯ç¬ä¸æ äºçï¼valueå
许éå¤ã
温馨提示:内容为网友见解,仅供参考