java之集合雜思 文本版

2021-08-18 01:30:27 字數 586 閱讀 7135

list ---->hashset----->treeset 是乙個條件遞進的過程

list 是單列集合,有索引 ,所以可以保證存入順序和取出順序一致,所以是保序集合,元素可以重複;可以使用listiterator 迭代器 ,下邊兩個兒子,arraylist和linkedlist 在增刪改查效能方面各有所長,可能陣列的最好替代了;

set 也是單列集合,木有索引,所以遍歷只能用迭代器,或者高階for迴圈,由於沒有索引,並且存入時有特殊的方式,所以取出順序和存入順序不一致, 它也有兩個兒子,乙個是hashset 它是利用元素.hashcode()的返回作比較,並上元素.equals()方法判斷元素是否相同

看一下treeset的原始碼 :

因為知道treeset是由紅黑樹,它儲存的時候會拿將要存入的元素與已存元素作比較,所以要求元素本身有可比較性

(即實現comparable介面,並覆蓋其compareto()方法),或者要求在集合建立時傳入要存入元素型別的比較器,或者傳入

要存入元素父類的比較器 即: class mycomparator implements comparator<? super t>                    

}

java之靜態總結 文本版

靜態的理解 1.類中被static修飾的成員被所有物件 例項 所共享,也就是說這個成員不屬於任何乙個物件 例項 而是屬於這個類 所以靜態變數又稱為類變數.2.類中的某個方法被static修飾與否,生命週期都是一樣的,但是如果這方法沒有訪問非靜態成員,則建議設定成靜態,這樣在呼叫時可以不用建立物件,節...

java之super,this總結 文本版

this 1.this存在於非靜態方法中,是對所在方法所屬物件的 位址 持有 2.this在構造方法中的第一行時,是對其他構造方法的 語法級別的 替代 例如 this 這就是在呼叫空參構造 super 1.super存在於子類非靜態方法中,是對所在方法所屬物件中父類空間的 位址 引用 ps 這個時候...

java之抽象的總結 文本版

問題 1,抽象類也是定義一些規則,為啥沒有被介面完全替代?答 介面 1,定義了一些規則 增強功能 乙個類實現多個介面 和多型 多個類實現乙個介面 抽象類 1.定義了一些規則 2.將一部分相同 進行了抽取,增加了復用性 3.將自身的功能給予了子類,相當於一種功能的積累 有些時候只需要定義規則 而有些時...