有關java中的集合List,set,Map 等

1.List是以特定索引來存取元素,能夠有重複元素。Set不能存放重讀元素(用對象的equals()方法來區分元素是否重複)。Map保存鍵值對映射,映射關係能夠一對一或多對一。Set和Map容器都有基於哈希存儲和排序樹的兩種實現版本,基於哈希存儲的版本理論存取時間複雜度O(1),而基於排序樹版本的實如今插入或刪除元素時會按照元素或元素的鍵(key)構成排序樹從而達到排序和去重的效果。 2.Treemap和TreeSet在排序時如何比較元素?Collections工具類中的sort()方法如何比較元素? 答:TreeSet要求存放的對象所屬的類必須實現Comparable接口,該接口提供了比較元素的compareTo()方法,當插入元素時,會會掉該方法比較元素的大小, TreeMap要求存放鍵值對映射的鍵必須實現Comparable接口從而根據鍵對元素進行排序。 Collections工具類的sort()方法有兩種重載的形式,第一種要求傳入的待排序同期中存放的對象,實現Comparable接口,並以實現元素進行比較。 第二種不強制行要求容器中的元素必須比較,可是要求傳入第二個參數,參數是Comparator接口的子類型(須要重寫compare方法實現元素的比較),修昂黨羽一個臨時定義排序規則,其實就是經過接口注入比較元素大小的算法,也是對會掉模式的應用。算法

相關文章
相關標籤/搜索