List接口以及數據結構存儲特點


一、簡述List接口的特點
1、存取有序的集合
2、有索引值
3、元素可以重復


二、hashCode和equals方法
簡述HashCode去除重復元素的原理
1、調用被添加元素的HashCode(),和hashSet中已有元素的HashCode()進行比較
2、如果不同,直接存儲
3、如果相同,調用equals方法比較是否相同
4、不相同,直接存儲元素
5、相同,直接舍棄,不存儲

三、數據結構
簡述常見的數據結構中元素的存取特點
1、棧:stack,又稱堆棧,對元素的存取特點是:先進后出。
 即,存進去的元素,要在它后面元素一次取出后,才能取出該元素。
2、隊列:queue,簡稱隊,對元素的存取特點是:先進先出。
 即:存進去的元素要在它前邊的元素取出后才能取出。
3、數組:Array,是有序的元素數列,對元素的存取特點是:
     1)、查找元素快;通過索引值直接查找數組中的元素。
     2)、增刪元素慢;
        (1)、指定索引位置增加元素,需要創建一個新的數組,將指定元素

            存儲在指定的索引位置,再把元素組元素根據索引復制到新數組對應索引的指定位置。
        (2)、刪除指定索引值的元素,需要建立一個新數組,將原數組里面的元素放到新數組中,
            需要刪除的指定索引值對應的元素,不放在新數組中。

4、鏈表:linkedList,對元素存取特點:
    1)、多個節點之間通過地址值進行連接。
 
    2)、查找元素慢

    3)、增刪元素快

        增加元素:只需要修改連接下一個元素的地址

        刪除元素: 只需要修改連接上一個元素的地址


四、Comparable 和 Comparator 比較器

簡述Comparable和Comparator兩個接口的區別

  Comparable:強行對實現它的每個類的對象進行整體排序。

    這種順序被稱為類的自然順序

    類的compareTo方法被稱為自然的比較方法,只能在類中實現compareTo()

    一次,不能經常修改類的代碼實現自己想要的順序。

    實現此接口的對象列表(和數組)可以通過Collections.sort(和Arrays.sort)進行自動排序

    對象可以用作有序映射中的鍵或者有序集合中的元素,不用指定比較器。

  Comparator:強行對某個對象進行整體排序。

    可以將Comparator傳遞給sort方法(Collections.sort或Arrays.sort)

    從而允許在排序順序上實現精准控制

     還可以使用Comparator來控制某些數據結構(如有序set或有序映射)的順序,

        或者為那些沒有自然順序的對象collection提供排序。





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM