標籤:
1、集合協助類
基本就這些了,關鍵是要瞭解 Collections 是集合的協助類,不是數組的協助類;
1)產生唯讀集合執行個體對象
Collections.singletonList——用來產生唯讀 的單一元素的List
Collections.singletonMap——用來產生唯讀 的單Key和Value組成的Map
Collections.singleton——用來產生唯讀 的單一元素的Set
Collections.unmodifiableList——用來產生唯讀 的List
Collections.unmodifiableMap——用來產生唯讀 的Key和Value組成的Map
Collections.unmodifiableSet——用來產生唯讀Set
如果尋找執行了先關非唯讀操作會出現異常:UnsupportedOperationException
2)檢查集合元素的類型
checkedCollection,checkedList,checkedMap,checkedSet,checkedSortedMap,checkedSortedSet
如果檢查發現元素類型不符就會法生ClassCastExceptions異常,雖然Java5中提供泛型的功能,泛型功能能夠在代碼編譯階段就約束集合中元素的類型,但有些時候聲明的集合可能是raw集合(原始類型,也就是沒有使用泛型的集合),編譯階段的類型約束就不起作用了,這個時候Checked集合就能起到約束集合中元素類型的作用。
3)同步集合元素
synchronizedXxxxx系列方法會返回同步化集合類(SynchronizedMap, SynchronizedList)。這些集合類內部實現都是通過一個mutex(互斥體)來實現對這些集合操作的同步化。其實就是把一個非同步集合變為
4)集合操作
包括 排序、尋找、替換、移位、統計、填充 等
fill—使用指定元素替換指定列表中的所有元素。
frequency—返回指定 collection 中等於指定對象的元素數。
indexOfSubList— 返回指定源列表中第一次出現指定目標列表的起始位置,如果沒有出現這樣的列表,則返回 -1。
lastIndexOfSubList—返回指定源列表中最後一次出現指定目標列表的位置,如果沒有出現這樣的列表,則返回-1。
max—— 根據元素的自然順序,返回給定 collection 的最大元素。
min——根據元素的自然順序 返回給定 collection 的最小元素。
replaceAll——使用另一個值其他清單中出現的所有某一指定值。
reverse——對List中的元素倒序排列
shuffle——對List中的元素隨即排列
sort——對List中的元素排序
swap——交換List中某兩個指定下標位元素在集合中的位置。
rotate——迴圈移動。迴圈移動這個方法讓人比較難以理解,下面的例子就會讓你一下子就理解這個方法的含義。
binarySearch——使用二進位搜尋演算法來搜尋指定列表,以獲得指定對象。
5)其他動作
addAll——將所有指定元素添加到指定 collection 中。
copy——將所有元素從一個列表複製到另一個列表。
disjoint——如果兩個指定 collection 中沒有相同的元素,則返回 true。
nCopies——返回由指定對象的 n 個副本組成的不可變列表。
2、數組協助類
基本就這些了,關鍵是要瞭解 Arrays 是數組的協助類,不是集合的協助類;
1)給數組賦值
:通過fill方法。
2)對數組排序
:通過sort方法,按升序。
3)比較數組
:通過equals方法比較數組中元素值是否相等。
4)尋找數組元素
:通過binarySearch方法能對排序好的數組進行二分尋找法操作。
5)把數組轉為集合
:通過asList方法,把數組的元素轉為集合的元素。
6)把數組以字串的形式轉換
:通過toString方法,本來數組調用toString返回的是類@地址,現在則是列印元素
7)複製數組的元素
:通過 copyOf、copyOfRange負責指定元素的數組
Java 複習 —— 集合數組協助類