<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 37  文章 - 29  trackbacks - 0


    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜


    下面是我自己畫的,關(guān)系畫得沒(méi)上面好,但我自己看著清楚些



    還有一張下載來(lái)的:




    有序否

    允許元素重復(fù)否

    Collection

    List

    Set

    AbstractSet

    HashSet

    TreeSet

    是(用二叉樹排序)

    Map

    AbstractMap

    使用key-value來(lái)映射和存儲(chǔ)數(shù)據(jù),Key必須惟一,value可以重復(fù)

    HashMap

    TreeMap

    是(用二叉樹排序)



    幾個(gè)面試常見(jiàn)問(wèn)題:
    1.Q:ArrayList和Vector有什么區(qū)別?HashMap和HashTable有什么區(qū)別?
       A:Vector和HashTable是線程同步的(synchronized)。性能上,ArrayList和HashMap分別比Vector和Hashtable要好。

    2.Q:大致講解java集合的體系結(jié)構(gòu)
       A:List、Set、Map是這個(gè)集合體系中最主要的三個(gè)接口。
          其中List和Set繼承自Collection接口。
          Set不允許元素重復(fù)。HashSet和TreeSet是兩個(gè)主要的實(shí)現(xiàn)類。
          List有序且允許元素重復(fù)。ArrayList、LinkedList和Vector是三個(gè)主要的實(shí)現(xiàn)類。
          Map也屬于集合系統(tǒng),但和Collection接口不同。Map是key對(duì)value的映射集合,其中key列就是一個(gè)集合。key不能重復(fù),但是value可以重復(fù)。HashMap、TreeMap和Hashtable是三個(gè)主要的實(shí)現(xiàn)類。
          SortedSet和SortedMap接口對(duì)元素按指定規(guī)則排序,SortedMap是對(duì)key列進(jìn)行排序。

    3.Q:Comparable和Comparator區(qū)別
        A:調(diào)用java.util.Collections.sort(List list)方法來(lái)進(jìn)行排序的時(shí)候,List內(nèi)的Object都必須實(shí)現(xiàn)了Comparable接口。
            java.util.Collections.sort(List list,Comparator c),可以臨時(shí)聲明一個(gè)Comparator 來(lái)實(shí)現(xiàn)排序。
            Collections.sort(imageList, new Comparator() {
                public int compare(Object a, Object b) {
                    int orderA = Integer.parseInt( ( (Image) a).getSequence());
                    int orderB = Integer.parseInt( ( (Image) b).getSequence());
                    return orderA - orderB;
               }
            });
            如果需要改變排列順序
            改成return orderb - orderA 即可。

    4.Q:簡(jiǎn)述equals()和hashCode()
        A:...不知道。下回分解

    public interface
    Collection
                extends Iterable


    public interface
    List
                extends Collection


    public abstract class
    AbstractList
                extends AbstractCollection
                implements List


    public class
    Vector
                extends AbstractList
                implements List,
                                       RandomAccess,
                                       java.lang.Cloneable,
                                       java.io.Serializable
    基于Array
    是“sychronized


    public class
    ArrayList
           
    extends AbstractList
           
    implements List,
                              RandomAccess,
                              Cloneable,
                              java.io.Serializable
    基于Array
    ArrayList非同步的。所以在性能上要比Vector優(yōu)越一些


    public class
    LinkedList
            extends AbstractSequentialList
            implements List,
                              Queue,
                              Cloneable
    ,
                              java.io.Serializable
    不基于Array

    基于ArrayListVectorArrayList)適合查詢,而LinkedList(鏈表)適合添加,刪除操作




    List基本上都是以Array為基礎(chǔ)。但是Set則是在HashMap的基礎(chǔ)上來(lái)實(shí)現(xiàn)的,這個(gè)就是SetList的根本區(qū)別
    public abstract class AbstractSet
        extends AbstractCollection
        implements Set



    public class HashSet
        extends AbstractSet
        implements Set, Cloneable, java.io.Serializable
    HashSet的存儲(chǔ)方式是把HashMap中的Key作為Set的對(duì)應(yīng)存儲(chǔ)項(xiàng)


    public class LinkedHashSet
        extends HashSet
        implements Set, Cloneable, java.io.Serializable


    public class TreeSet
        extends AbstractSet
        implements SortedSet, Cloneable, java.io.Serializable
    它是通過(guò)SortedMap來(lái)實(shí)現(xiàn)的




    public interface Map<K,V>


    public abstract class AbstractMap<K,V>
        implements Map<K,V>


    public class HashMap<K,V>
        extends AbstractMap<K,V>
        implements Map<K,V>, Cloneable, Serializable


    public class TreeMap<K,V>
        extends AbstractMap<K,V>
        implements SortedMap<K,V>, Cloneable, java.io.Serializable

    HashMap通過(guò)hashcode對(duì)其內(nèi)容進(jìn)行快速查找,而TreeMap中所有的元素都保持著某種固定的順序,如果你需要得到一個(gè)有序的結(jié)果你就應(yīng)該使用TreeMap(HashMap中元素的排列順序是不固定的)



    更詳細(xì)的可以看:
    http://www.frontfree.net/view/article_695.html
    http://blog.csdn.net/happyzhm5/archive/2007/03/17/1532101.aspx
    http://blog.csdn.net/Java_apprentice/archive/2007/07/20/1700351.aspx

    解析Java對(duì)象的equals()和hashCode()的使用: http://tmsoft.lsxy.com/index.php?id=82&load=read


    posted on 2007-11-12 10:06 EvanLiu 閱讀(116942) 評(píng)論(14)  編輯  收藏 所屬分類: Java基礎(chǔ)

    FeedBack:
    # re: JAVA集合小結(jié) 2008-03-23 20:49 礦礦
    不 大 懂
    我是新手!!  回復(fù)  更多評(píng)論
      
    # re: JAVA集合小結(jié) 2012-01-04 15:32 11
    AbstractrMap 怎么在Collection中實(shí)現(xiàn)了?  回復(fù)  更多評(píng)論
      
    # re: JAVA集合小結(jié) 2012-05-15 21:59 
    很好,謝謝LZ  回復(fù)  更多評(píng)論
      
    # re: JAVA集合小結(jié) 2012-07-12 11:48 yaoweijava
    學(xué)習(xí)了  回復(fù)  更多評(píng)論
      
    # re: JAVA集合小結(jié) 2012-08-31 15:04 給你評(píng)“爛”的人
    # re: JAVA集合小結(jié) 2012-11-27 09:25 雷鋒
    collection是接口,collections是需要實(shí)現(xiàn)的類。你的圖有問(wèn)題。  回復(fù)  更多評(píng)論
      
    # re: JAVA集合小結(jié) 2012-12-04 21:40 鄭濱
    謝謝你  回復(fù)  更多評(píng)論
      
    # re: JAVA集合小結(jié)[未登錄](méi) 2013-07-16 14:54 1
    # re: JAVA集合小結(jié) 2014-02-27 22:08 sad
    # re: JAVA集合小結(jié)[未登錄](méi) 2014-08-10 10:44 java
    hascode 相同 equals吧一定相同
    equals相同hascode一定相同
    equals不同hascode不一定不同  回復(fù)  更多評(píng)論
      
    # re: JAVA集合小結(jié) 2015-08-19 22:29 樂(lè)234
    第二張圖 左上角應(yīng)該是AbstractCollection  回復(fù)  更多評(píng)論
      
    # re: JAVA集合小結(jié) 2015-09-16 14:57 12
    你這有部分是不對(duì)的,但還是要謝謝你的分享  回復(fù)  更多評(píng)論
      
    # re: JAVA集合小結(jié) 2015-09-23 16:04 aldrich
    請(qǐng)問(wèn)你是用什么軟件畫的圖???  回復(fù)  更多評(píng)論
      
    # re: JAVA集合小結(jié) 2016-06-24 09:51 Master
    謝謝分享  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 国产精品手机在线亚洲| 亚洲第一黄色网址| 成人无码WWW免费视频| 亚洲综合精品成人| 婷婷亚洲综合五月天小说| 四虎影院永久免费观看| 青娱乐免费在线视频| 97在线免费视频| 人体大胆做受免费视频| 亚洲一区二区无码偷拍| 亚洲精品免费视频| 亚洲综合伊人久久大杳蕉| 国产成人免费a在线视频色戒| 4hu四虎最新免费地址| 日本免费在线观看| 中文成人久久久久影院免费观看| 精品国产日韩亚洲一区91| 亚洲国产视频一区| 中文字幕亚洲综合久久2| 亚洲中文字幕久久精品无码APP| 日本免费电影一区| 两个人的视频高清在线观看免费 | 久久久久久久久久国产精品免费 | 暖暖在线视频免费视频| 一级**爱片免费视频| 国产AV无码专区亚洲AV麻豆丫| 亚洲乱人伦精品图片| 精品韩国亚洲av无码不卡区| 亚洲a级片在线观看| 亚洲黄色高清视频| 亚洲黄色在线观看| 色婷婷六月亚洲婷婷丁香| 亚洲AV无码码潮喷在线观看| 亚洲色成人网站WWW永久| 国产AⅤ无码专区亚洲AV| 久久久久亚洲AV成人网| 国产精品亚洲综合一区| 亚洲女同成人AⅤ人片在线观看| 亚洲av无码不卡私人影院| 无码欧精品亚洲日韩一区夜夜嗨 | 中文字幕人成人乱码亚洲电影 |