日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSCollections

Collections

java.lang.Object

|---java.util.Collections

public class Collections
extends Object

此類僅由對集合進行操作或返回集合的靜態(tài)方法組成。 它包含對集合進行操作的多態(tài)算法,“包裝器”,它返回由指定集合支持的新集合,以及其他一些零碎的東西。

如果提供給它們的集合或類對象為空,則此類的方法都會拋出 NullPointerException。

此類中包含的多態(tài)算法的文檔通常包括對實現(xiàn)的簡要描述。此類描述應被視為實現(xiàn)說明,而不是規(guī)范的一部分。只要遵守規(guī)范本身,實現(xiàn)者應該可以隨意替換其他算法。 (例如,sort 使用的算法不必是歸并排序,但它必須是穩(wěn)定的。)

此類中包含的“破壞性”算法,即修改它們操作的集合的算法,被指定為在集合不支持適當?shù)耐蛔冊Z(例如 set 方法)時拋出 UnsupportedOperationException。如果調用對集合沒有影響,這些算法可能會(但不是必須)拋出此異常。例如,在已排序的不可修改列表上調用 sort 方法可能會也可能不會拋出 UnsupportedOperationException。

此類是 Java 集合框架的成員。

字段摘要

修飾符和類型 字段 描述
static List EMPTY_LIST 空列表(不可變)。
static Map EMPTY_MAP 空map(不可變)。
static Set EMPTY_SET 空集(不可變)。

方法總結

修飾符和類型 方法 描述
static  boolean addAll(Collection c, T... elements) 將所有指定元素添加到指定集合。
static  Queue asLifoQueue(Deque deque) 將 Deque 的視圖返回為后進先出 (Lifo) 隊列。
static  int binarySearch(List> list, T key) 使用二分搜索算法在指定列表中搜索指定對象。
static  int binarySearch(List list, T key, Comparator c) 使用二分搜索算法在指定列表中搜索指定對象。
static  Collection checkedCollection(Collection c, Class type) 返回指定集合的動態(tài)類型安全視圖。
static  List checkedList(List list, Class type) 返回指定列表的動態(tài)類型安全視圖。
static  Map checkedMap(Map m, Class keyType, Class valueType) 返回指定映射的動態(tài)類型安全視圖。
static  NavigableMap checkedNavigableMap(NavigableMap m, Class keyType, Class valueType) 返回指定可導航地圖的動態(tài)類型安全視圖。
static  NavigableSet checkedNavigableSet(NavigableSet s, Class type) 返回指定導航集的動態(tài)類型安全視圖。
static  Queue checkedQueue(Queue queue, Class type) 返回指定隊列的動態(tài)類型安全視圖。
static  Set checkedSet(Set s, Class type) 返回指定集合的動態(tài)類型安全視圖。
static  SortedMap checkedSortedMap(SortedMap m, Class keyType, Class valueType) 返回指定排序映射的動態(tài)類型安全視圖。
static  SortedSet checkedSortedSet(SortedSet s, Class type) 返回指定排序集的動態(tài)類型安全視圖。
static  void copy(List dest, List src) 將一個列表中的所有元素復制到另一個列表中。
static boolean disjoint(Collection c1, Collection c2) 如果兩個指定的集合沒有共同的元素,則返回 true。
static  Enumeration emptyEnumeration() 返回一個沒有元素的枚舉。
static  Iterator emptyIterator() 返回一個沒有元素的迭代器。
static  List emptyList() 返回一個空列表(不可變)。
static  ListIterator emptyListIterator() 返回一個沒有元素的列表迭代器。
static  Map emptyMap() 返回一個空映射(不可變)。
static  NavigableMap emptyNavigableMap() 返回一個空的可導航map(不可變)。
static  NavigableSet emptyNavigableSet() 返回一個空的可導航集(不可變)。
static  Set emptySet() 返回一個空集(不可變)。
static  SortedMap emptySortedMap() 返回一個空的排序映射(不可變)。
static  SortedSet emptySortedSet() 返回一個空的排序集(不可變)。
static  Enumeration enumeration(Collection c) 返回指定集合的枚舉。
static  void fill(List list, T obj) 用指定元素替換指定列表的所有元素。
static int frequency(Collection c, Object o) 返回指定集合中等于指定對象的元素數(shù)。
static int indexOfSubList(List source, List target) 返回指定源列表中指定目標列表第一次出現(xiàn)的起始位置,如果沒有出現(xiàn),則返回 -1。
static int lastIndexOfSubList(List source, List target) 返回指定目標列表在指定源列表中最后一次出現(xiàn)的起始位置,如果沒有出現(xiàn),則返回 -1。
static  ArrayList list(Enumeration e) 按枚舉返回的順序返回一個數(shù)組列表,其中包含指定枚舉返回的元素。
static >T max(Collection coll) 根據(jù)元素的自然順序返回給定集合的最大元素。
static  T max(Collection coll, Comparator comp) 根據(jù)指定比較器誘導的順序返回給定集合的最大元素。
static >T min(Collection coll) 根據(jù)元素的自然順序返回給定集合的最小元素。
static  T min(Collection coll, Comparator comp) 根據(jù)指定比較器誘導的順序返回給定集合的最小元素。
static  List nCopies(int n, T o) 返回由指定對象的 n 個副本組成的不可變列表。
static  Set newSetFromMap(MapE,Boolean map) 返回由指定映射支持的集合。
static  boolean replaceAll(List list, T oldVal, T newVal) 將列表中一個指定值的所有出現(xiàn)替換為另一個。
static void reverse(List list) 反轉指定列表中元素的順序。
static  Comparator reverseOrder() 返回一個比較器,它對實現(xiàn) Comparable 接口的對象集合施加自然順序的逆向。
static  Comparator reverseOrder(Comparator cmp) 返回一個比較器,它強制指定比較器的反向排序。
static void rotate(List list, int distance) 將指定列表中的元素旋轉指定距離。
static void shuffle(List list) 使用默認隨機源隨機排列指定列表。
static void shuffle(List list, Random rnd) 使用指定的隨機源隨機排列指定的列表。
static  Set singleton(T o) 返回一個只包含指定對象的不可變集合。
static  List singletonList(T o) 返回僅包含指定對象的不可變列表。
static  Map singletonMap(K key, V value) 返回一個不可變映射,僅將指定的鍵映射到指定的值。
static >void sort(List list) 根據(jù)其元素的 Comparable 對指定列表進行升序排序。
static  void sort(List list, Comparator c) 根據(jù)指定比較器產(chǎn)生的順序對指定列表進行排序。
static void swap(List list, int i, int j) 交換指定列表中指定位置的元素。
static  Collection synchronizedCollection(Collection c) 返回由指定集合支持的同步(線程安全)集合。
static  List synchronizedList(List list) 返回由指定列表支持的同步(線程安全)列表。
static  Map synchronizedMap(Map m) 返回由指定映射支持的同步(線程安全)映射。
static  NavigableMap synchronizedNavigableMap(NavigableMap m) 返回由指定可導航地圖支持的同步(線程安全)可導航地圖。
static  NavigableSet synchronizedNavigableSet(NavigableSet s) 返回由指定導航集支持的同步(線程安全)導航集。
static  Set synchronizedSet(Set s) 返回由指定集支持的同步(線程安全)集。
static  SortedMap synchronizedSortedMap(SortedMap m) 返回由指定排序映射支持的同步(線程安全)排序映射。
static  SortedSet synchronizedSortedSet(SortedSet s) 返回由指定排序集支持的同步(線程安全)排序集。
static  Collection unmodifiableCollection(Collection c) 返回指定集合的不可修改視圖。
static  List unmodifiableList(List list) 返回指定列表的不可修改視圖。
static  Map unmodifiableMap(Map m) 返回指定地圖的不可修改視圖。
static  NavigableMap unmodifiableNavigableMap(NavigableMap m) 返回指定導航地圖的不可修改視圖。
static  NavigableSet unmodifiableNavigableSet(NavigableSet s) 返回指定導航集的不可修改視圖。
static  Set unmodifiableSet(Set s) 返回指定集合的不可修改視圖。
static  SortedMap unmodifiableSortedMap(SortedMap m) 返回指定排序地圖的不可修改視圖。
static  SortedSet unmodifiableSortedSet(SortedSet s) 返回指定排序集的不可修改視圖。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段詳細信息

EMPTY_LIST

public static final List EMPTY_LIST

空列表(不可變)。 這個列表是可序列化的。

EMPTY_MAP

public static final Map EMPTY_MAP

空地圖(不可變)。 該地圖是可序列化的。

EMPTY_SET

public static final Set EMPTY_SET

空集(不可變)。 這個集合是可序列化的。

方法詳情

sort

public static > void sort(List list)

根據(jù)其元素的 Comparable 對指定列表進行升序排序。 列表中的所有元素都必須實現(xiàn) Comparable 接口。 此外,列表中的所有元素必須相互可比較(即,e1.compareTo(e2) 不得為列表中的任何元素 e1 和 e2 拋出 ClassCastException)。

這種排序保證是穩(wěn)定的:相同的元素不會因為排序而重新排序。

指定的列表必須是可修改的,但不必調整大小。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 列表中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
list 要排序的列表。

Throws:

Throw名稱 Throw描述
ClassCastException 如果列表包含不可相互比較的元素(例如,字符串和整數(shù))。
UnsupportedOperationException 如果指定列表的列表迭代器不支持設置操作。
IllegalArgumentException (可選)如果實現(xiàn)檢測到列表元素的自然順序被發(fā)現(xiàn)違反了 Comparable 合約

sort

public static void sort(List list, Comparator c)

根據(jù)指定比較器產(chǎn)生的順序對指定列表進行排序。 列表中的所有元素必須使用指定的比較器進行相互比較(即,c.compare(e1, e2) 不得為列表中的任何元素 e1 和 e2 拋出 ClassCastException)。

這種排序保證是穩(wěn)定的:相同的元素不會因為排序而重新排序。

指定的列表必須是可修改的,但不必調整大小。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 列表中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
list 要排序的列表。
c 比較器來確定列表的順序。 空值表示應使用元素的自然順序。

Throws:

Throw名稱 Throw描述
ClassCastException 如果列表包含使用指定比較器不能相互比較的元素。
UnsupportedOperationException 如果指定列表的列表迭代器不支持設置操作。
IllegalArgumentException (可選)如果發(fā)現(xiàn)比較器違反了比較器合同

binarySearch

public static int binarySearch(List> list, T key)

使用二分搜索算法在指定列表中搜索指定對象。 在進行此調用之前,必須根據(jù)其元素的 Comparable 對列表進行升序排序(如通過 sort(java.util.List) 方法)。 如果未排序,則結果未定義。 如果列表包含多個等于指定對象的元素,則無法保證會找到哪一個。

此方法在 log(n) 時間內(nèi)針對“隨機訪問”列表(提供接近恒定時間的位置訪問)運行。 如果指定的列表沒有實現(xiàn) RandomAccess 接口并且很大,則此方法將執(zhí)行基于迭代器的二進制搜索,執(zhí)行 O(n) 鏈接遍歷和 O(log n) 元素比較。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 列表中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
list 要搜索的列表。
key 要搜索的鍵。

返回:

搜索關鍵字的索引,如果它包含在列表中; 否則,(-(插入點)- 1)。 插入點定義為將鍵插入列表的點:第一個元素的索引大于鍵,如果列表中的所有元素都小于指定的鍵,則為 list.size()。 請注意,這保證了當且僅當找到鍵時,返回值將 >= 0。

Throws:

Throw名稱 Throw描述
ClassCastException 如果列表包含不可相互比較的元素(例如,字符串和整數(shù)),或者搜索鍵與列表的元素不可相互比較。

binarySearch

public static int binarySearch(List list, T key, Comparator c)

使用二分搜索算法在指定列表中搜索指定對象。 在進行此調用之前,必須根據(jù)指定的比較器(如通過 sort(List, Comparator) 方法)對列表進行升序排序。 如果未排序,則結果未定義。 如果列表包含多個等于指定對象的元素,則無法保證會找到哪一個。

此方法在 log(n) 時間內(nèi)針對“隨機訪問”列表(提供接近恒定時間的位置訪問)運行。 如果指定的列表沒有實現(xiàn) RandomAccess 接口并且很大,則此方法將執(zhí)行基于迭代器的二進制搜索,執(zhí)行 O(n) 鏈接遍歷和 O(log n) 元素比較。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 列表中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
list 要搜索的列表。
key 要搜索的鍵。
c 排序列表的比較器。 空值表示應該使用元素的 Comparable。

返回:

搜索關鍵字的索引,如果它包含在列表中; 否則,(-(插入點)- 1)。 插入點定義為將鍵插入列表的點:第一個元素的索引大于鍵,如果列表中的所有元素都小于指定的鍵,則為 list.size()。 請注意,這保證了當且僅當找到鍵時,返回值將 >= 0。

Throws:

Throw名稱 Throw描述
ClassCastException 如果列表包含使用指定比較器不能相互比較的元素,或者搜索鍵與使用此比較器的列表元素不能相互比較。

reverse

public static void reverse(List list)

反轉指定列表中元素的順序。

此方法以線性時間運行。

參數(shù):

參數(shù)名稱 參數(shù)描述
list 要反轉其元素的列表。

Throws:

Throw名稱 Throw描述
UnsupportedOperationException 如果指定的列表或其列表迭代器不支持設置操作。

shuffle

public static void shuffle(List list)

使用默認隨機源隨機排列指定列表。所有排列都以大致相等的可能性發(fā)生。

在前面的描述中使用了“大約”對沖,因為默認隨機源只是大約獨立選擇位的無偏源。如果它是隨機選擇的比特的完美來源,那么該算法將選擇具有完美一致性的排列。

此實現(xiàn)從最后一個元素到第二個元素向后遍歷列表,反復將隨機選擇的元素交換到“當前位置”。元素是從列表中從第一個元素到當前位置(含)的部分中隨機選擇的。

此方法以線性時間運行。如果指定列表沒有實現(xiàn) RandomAccess 接口并且很大,則此實現(xiàn)在打亂之前將指定列表轉儲到數(shù)組中,并將打亂后的數(shù)組轉儲回列表中。這避免了因將“順序訪問”列表改組而導致的二次行為。

參數(shù):

參數(shù)名稱 參數(shù)描述
list 要洗牌的列表。

Throws:

Throw名稱 Throw描述
UnsupportedOperationException 如果指定的列表或其列表迭代器不支持設置操作。

shuffle

public static void shuffle(List list, Random rnd)

使用指定的隨機源隨機排列指定的列表。 假設隨機性的來源是公平的,所有排列都以相同的可能性發(fā)生。

此實現(xiàn)從最后一個元素到第二個元素向后遍歷列表,反復將隨機選擇的元素交換到“當前位置”。 元素是從列表中從第一個元素到當前位置(含)的部分中隨機選擇的。

此方法以線性時間運行。 如果指定列表沒有實現(xiàn) RandomAccess 接口并且很大,則此實現(xiàn)在打亂之前將指定列表轉儲到數(shù)組中,并將打亂后的數(shù)組轉儲回列表中。 這避免了因將“順序訪問”列表改組而導致的二次行為。

參數(shù):

參數(shù)名稱 參數(shù)描述
list 要洗牌的列表。
rnd 用于隨機排列列表的隨機源。

Throws:

Throw名稱 Throw描述
UnsupportedOperationException 如果指定的列表或其列表迭代器不支持設置操作。

swap

public static void swap(List list, int i, int j)

交換指定列表中指定位置的元素。 (如果指定的位置相等,則調用此方法會使列表保持不變。)

參數(shù):

參數(shù)名稱 參數(shù)描述
list 交換元素的列表。
i 要交換的一個元素的索引。
j 要交換的另一個元素的索引。

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果 i 或 j 超出范圍 (i < 0 || i >= list.size() || j < 0 || j >= list.size())。

fill

public static void fill(List list, T obj)

用指定元素替換指定列表的所有元素。

此方法以線性時間運行。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 列表中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
list 要填充指定元素的列表。
obj 用于填充指定列表的元素。

Throws:

Throw名稱 Throw描述
UnsupportedOperationException 如果指定的列表或其列表迭代器不支持設置操作。

copy

public static void copy(List dest, List src)

將一個列表中的所有元素復制到另一個列表中。 操作后,目標列表中每個復制元素的索引將與其在源列表中的索引相同。 目標列表必須至少與源列表一樣長。 如果它更長,則目標列表中的其余元素不受影響。

此方法以線性時間運行。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 列表中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
dest 目的地列表。
src 源列表。

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果目標列表太小而無法包含整個源列表。
UnsupportedOperationException 如果目標列表的列表迭代器不支持設置操作。

min

public static > T min(Collection coll)

根據(jù)元素的自然順序返回給定集合的最小元素。 集合中的所有元素都必須實現(xiàn) Comparable 接口。 此外,集合中的所有元素必須相互可比較(即,e1.compareTo(e2) 不得為集合中的任何元素 e1 和 e2 拋出 ClassCastException)。

此方法迭代整個集合,因此它需要與集合大小成正比的時間。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 集合中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
coll 要確定其最小元素的集合。

返回:

給定集合的最小元素,根據(jù)其元素的自然順序。

Throws:

Throw名稱 Throw描述
ClassCastException 如果集合包含不可相互比較的元素(例如,字符串和整數(shù))。
NoSuchElementException 如果集合為空。

min

public static T min(Collection coll, Comparator comp)

根據(jù)指定比較器誘導的順序返回給定集合的最小元素。 集合中的所有元素必須通過指定的比較器相互比較(即,comp.compare(e1, e2) 不得為集合中的任何元素 e1 和 e2 拋出 ClassCastException)。

此方法迭代整個集合,因此它需要與集合大小成正比的時間。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 集合中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
coll 要確定其最小元素的集合。
comp 用于確定最小元素的比較器。 空值表示應使用元素的自然順序。

返回:

根據(jù)指定的比較器,給定集合的最小元素。

Throws:

Throw名稱 Throw描述
ClassCastException 如果集合包含使用指定比較器不能相互比較的元素。
NoSuchElementException 如果集合為空。

max

public static > T max(Collection coll)

根據(jù)元素的自然順序返回給定集合的最大元素。 集合中的所有元素都必須實現(xiàn) Comparable 接口。 此外,集合中的所有元素必須相互可比較(即,e1.compareTo(e2) 不得為集合中的任何元素 e1 和 e2 拋出 ClassCastException)。

此方法迭代整個集合,因此它需要與集合大小成正比的時間。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 集合中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
coll 要確定其最大元素的集合。

返回:

給定集合的最大元素,根據(jù)其元素的自然順序。

Throws:

Throw名稱 Throw描述
ClassCastException 如果集合包含不可相互比較的元素(例如,字符串和整數(shù))。
NoSuchElementException 如果集合為空。

max

public static T max(Collection coll, Comparator comp)

根據(jù)指定比較器誘導的順序返回給定集合的最大元素。 集合中的所有元素必須通過指定的比較器相互比較(即,comp.compare(e1, e2) 不得為集合中的任何元素 e1 和 e2 拋出 ClassCastException)。

此方法迭代整個集合,因此它需要與集合大小成正比的時間。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 集合中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
coll 要確定其最大元素的集合。
comp 用于確定最大元素的比較器。 空值表示應使用元素的自然順序。

返回:

根據(jù)指定的比較器,給定集合的最大元素。

Throws:

Throw名稱 Throw描述
ClassCastException 如果集合包含使用指定比較器不能相互比較的元素。
NoSuchElementException 如果集合為空。

rotate

public static void rotate(List list, int distance)

將指定列表中的元素旋轉指定距離。 調用此方法后,索引 i 處的元素將是先前位于索引 (i - 距離) mod list.size() 處的元素,對于 i 的所有值介于 0 和 list.size()-1 之間,包括 0 和 list.size()-1。 (此方法對列表的大小沒有影響。)

例如,假設列表包含 [t, a, n, k, s]。 調用 Collections.rotate(list, 1)(或 Collections.rotate(list, -4))后,列表將包含 [s, t, a, n, k]。

請注意,此方法可以有效地應用于子列表,以在列表中移動一個或多個元素,同時保留剩余元素的順序。 例如,以下習慣用法將索引 j 處的元素向前移動到位置 k(必須大于或等于 j):

     Collections.rotate(list.subList(j, k+1), -1); 

為了具體說明,假設列表包含 [a, b, c, d, e]。 要將索引 1 (b) 處的元素向前移動兩個位置,請執(zhí)行以下調用:

     Collections.rotate(l.subList(1, 4), -1); 

結果列表是 [a, c, d, b, e]。

要向前移動多個元素,請增加旋轉距離的絕對值。要向后移動元素,請使用正偏移距離。

如果指定的列表很小或實現(xiàn)了 RandomAccess 接口,則此實現(xiàn)將第一個元素交換到它應該去的位置,然后重復地將被替換的元素交換到它應該去的位置,直到一個被替換的元素被交換到第一個元素。如有必要,對第二個和后續(xù)元素重復該過程,直到旋轉完成。如果指定的列表很大并且沒有實現(xiàn) RandomAccess 接口,則此實現(xiàn)將列表分成兩個圍繞 index -distance mod 大小的子列表視圖。然后在每個子列表視圖上調用 reverse(java.util.List) 方法,最后在整個列表上調用它。

參數(shù):

參數(shù)名稱 參數(shù)描述
list 要輪換的列表。
distance 旋轉列表的距離。 這個值沒有限制; 它可能為零、負數(shù)或大于 list.size()。

Throws:

Throw名稱 Throw描述
UnsupportedOperationException 如果指定的列表或其列表迭代器不支持設置操作。

replaceAll

public static boolean replaceAll(List list, T oldVal, T newVal)

將列表中一個指定值的所有出現(xiàn)替換為另一個。 更正式地說,用 newVal 替換列表中的每個元素 e,使得 (oldVal==null ? e==null : oldVal.equals(e))。 (此方法對列表的大小沒有影響。)

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 列表中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
list 要發(fā)生替換的列表。
oldVal 要替換的舊值。
newVal oldVal 將被替換的新值。

返回:

如果 list 包含一個或多個元素 e 滿足 (oldVal==null ? e==null : oldVal.equals(e)),則為 true。

Throws:

Throw名稱 Throw描述
UnsupportedOperationException 如果指定的列表或其列表迭代器不支持設置操作。

indexOfSubList

public static int indexOfSubList(List source, List target)

返回指定源列表中指定目標列表第一次出現(xiàn)的起始位置,如果沒有出現(xiàn),則返回 -1。 更正式地說,返回滿足 source.subList(i, i+target.size()).equals(target) 的最低索引 i,如果沒有這樣的索引,則返回 -1。 (如果 target.size() > source.size() 則返回 -1)

此實現(xiàn)使用掃描源列表的“brute force”技術,依次在每個位置尋找與目標的匹配。

參數(shù):

參數(shù)名稱 參數(shù)描述
source 在其中搜索第一次出現(xiàn)的目標的列表。
target 要搜索的列表作為源的子列表。

返回:

指定目標列表在指定源列表中第一次出現(xiàn)的起始位置,如果沒有出現(xiàn),則為 -1。

lastIndexOfSubList

public static int lastIndexOfSubList(List source, List target)

返回指定目標列表在指定源列表中最后一次出現(xiàn)的起始位置,如果沒有出現(xiàn),則返回 -1。 更正式地說,返回最高索引 i 使得 source.subList(i, i+target.size()).equals(target),如果沒有這樣的索引,則返回 -1。 (如果 target.size() > source.size() 則返回 -1)

該實現(xiàn)使用“brute force”技術迭代源列表,依次在每個位置尋找與目標的匹配。

參數(shù):

參數(shù)名稱 參數(shù)描述
source 要在其中搜索最后一次出現(xiàn)的目標的列表。
target 要搜索的列表作為源的子列表。

返回:

指定源列表中指定目標列表的最后一次出現(xiàn)的起始位置,如果沒有這樣的出現(xiàn),則為 -1。

unmodifiableCollection

public static Collection unmodifiableCollection(Collection c)

返回指定集合的不可修改視圖。 此方法允許模塊為用戶提供對內(nèi)部集合的“只讀”訪問權限。 對返回集合的查詢操作“通讀”到指定集合,并嘗試修改返回的集合,無論是直接還是通過其迭代器,都會導致 UnsupportedOperationException。

返回的集合不會將 hashCode 和 equals 操作傳遞給支持集合,而是依賴于 Object 的 equals 和 hashCode 方法。 在支持集合是集合或列表的情況下,這對于保留這些操作的合同是必要的。

如果指定的集合是可序列化的,則返回的集合將是可序列化的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 集合中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
c 要為其返回不可修改視圖的集合。

返回:

指定集合的不可修改視圖。

unmodifiableSet

public static Set unmodifiableSet(Set s)

返回指定集合的不可修改視圖。 此方法允許模塊為用戶提供對內(nèi)部集的“只讀”訪問權限。 對返回集“通讀”到指定集的查詢操作,并嘗試修改返回集,無論是直接還是通過其迭代器,都會導致 UnsupportedOperationException。

如果指定的集合是可序列化的,則返回的集合將是可序列化的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 集合中對象的類別

參數(shù):

參數(shù)名稱 參數(shù)描述
s 要為其返回不可修改視圖的集合。

返回:

指定集合的不可修改視圖。

unmodifiableSortedSet

public static SortedSet unmodifiableSortedSet(SortedSet s)

返回指定排序集的不可修改視圖。 此方法允許模塊為用戶提供對內(nèi)部排序集的“只讀”訪問權限。 對返回的排序集的查詢操作“通讀”到指定的排序集。 嘗試修改返回的排序集,無論是直接的、通過它的迭代器,還是通過它的 subSet、headSet 或 tailSet 視圖,都會導致 UnsupportedOperationException。

如果指定的排序集是可序列化的,則返回的排序集將是可序列化的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 集合中對象的類別

參數(shù):

參數(shù)名稱 參數(shù)描述
s 要為其返回不可修改視圖的排序集。

返回:

指定排序集的不可修改視圖。

unmodifiableNavigableSet

public static NavigableSet unmodifiableNavigableSet(NavigableSet s)

返回指定導航集的不可修改視圖。 此方法允許模塊為用戶提供對內(nèi)部可導航集的“只讀”訪問權限。 對返回的導航集的查詢操作“通讀”到指定的導航集。 嘗試修改返回的可導航集,無論是直接、通過其迭代器,還是通過其子集、頭集或尾集視圖,都會導致 UnsupportedOperationException。

如果指定的導航集是可序列化的,則返回的導航集將是可序列化的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 集合中對象的類別

參數(shù):

參數(shù)名稱 參數(shù)描述
s 要為其返回不可修改視圖的可導航集

返回:

指定導航集的不可修改視圖

unmodifiableList

public static List unmodifiableList(List list)

返回指定列表的不可修改視圖。 此方法允許模塊為用戶提供對內(nèi)部列表的“只讀”訪問權限。 對返回列表的查詢操作“通讀”到指定列表,并嘗試修改返回的列表,無論是直接還是通過其迭代器,都會導致 UnsupportedOperationException。

如果指定的列表是可序列化的,則返回的列表將是可序列化的。 同樣,如果指定的列表執(zhí)行,則返回的列表將實現(xiàn) RandomAccess。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 列表中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
list 要為其返回不可修改視圖的列表。

返回:

指定列表的不可修改視圖。

unmodifiableMap

public static Map unmodifiableMap(Map m)

返回指定地圖的不可修改視圖。 此方法允許模塊為用戶提供對內(nèi)部地圖的“只讀”訪問權限。 對返回的映射“通讀”到指定映射的查詢操作,并嘗試修改返回的映射,無論是直接還是通過其集合視圖,都會導致 UnsupportedOperationException。

如果指定的映射是可序列化的,則返回的映射將是可序列化的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
K 映射鍵的類
V 地圖值的類別

參數(shù):

參數(shù)名稱 參數(shù)描述
m 要為其返回不可修改視圖的map。

返回:

指定map的不可修改視圖。

unmodifiableSortedMap

public static SortedMap unmodifiableSortedMap(SortedMap m)

返回指定排序地圖的不可修改視圖。 此方法允許模塊為用戶提供對內(nèi)部排序地圖的“只讀”訪問權限。 對返回的有序映射的查詢操作“通讀”到指定的有序映射。 嘗試修改返回的排序地圖,無論是直接的、通過它的集合視圖,還是通過它的 subMap、headMap 或 tailMap 視圖,都會導致 UnsupportedOperationException。

如果指定的排序映射是可序列化的,則返回的排序映射將是可序列化的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
K 映射鍵的類
V map值的類別

參數(shù):

參數(shù)名稱 參數(shù)描述
m 要為其返回不可修改視圖的排序映射。

返回:

指定排序映射的不可修改視圖。

unmodifiableNavigableMap

public static NavigableMap unmodifiableNavigableMap(NavigableMap m)

返回指定導航地圖的不可修改視圖。 此方法允許模塊為用戶提供對內(nèi)部可導航地圖的“只讀”訪問權限。 對返回的導航地圖的查詢操作“通讀”到指定的導航地圖。 嘗試修改返回的可導航地圖,無論是直接通過其集合視圖,還是通過其 subMap、headMap 或 tailMap 視圖,都會導致 UnsupportedOperationException。

如果指定的導航地圖是可序列化的,則返回的導航地圖將是可序列化的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
K 映射鍵的類
V map值的類別

參數(shù):

參數(shù)名稱 參數(shù)描述
m 要為其返回不可修改視圖的可導航map

返回:

指定導航map的不可修改視圖

synchronizedCollection

public static Collection synchronizedCollection(Collection c)

返回由指定集合支持的同步(線程安全)集合。 為了保證串行訪問,對后備集合的所有訪問都是通過返回的集合完成的,這一點至關重要。

當通過 Iterator、Spliterator 或 Stream 遍歷返回的集合時,用戶必須手動同步它:

  Collection c = Collections.synchronizedCollection(myCollection);
     ...
  synchronized (c) {
      Iterator i = c.iterator(); // Must be in the synchronized block
      while (i.hasNext())
         foo(i.next());
  }

不遵循此建議可能會導致不確定的行為。

返回的集合不會將 hashCode 和 equals 操作傳遞給支持集合,而是依賴于 Object 的 equals 和 hashCode 方法。 在支持集合是集合或列表的情況下,這對于保留這些操作的合同是必要的。

如果指定的集合是可序列化的,則返回的集合將是可序列化的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 集合中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
c 要“wrapped”在同步集合中的集合。

返回:

指定集合的同步視圖。

synchronizedSet

public static Set synchronizedSet(Set s)

返回由指定集支持的同步(線程安全)集。 為了保證串行訪問,對支持集的所有訪問都是通過返回集完成的,這一點至關重要。

當?shù)鼤r,用戶必須在返回的集合上手動同步:

  Set s = Collections.synchronizedSet(new HashSet());
      ...
  synchronized (s) {
      Iterator i = s.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }

不遵循此建議可能會導致不確定的行為。

如果指定的集合是可序列化的,則返回的集合將是可序列化的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 集合中對象的類別

參數(shù):

參數(shù)名稱 參數(shù)描述
s 要“wrapped”在同步集中的集合。

返回:

指定集合的同步視圖。

synchronizedSortedSet

public static SortedSet synchronizedSortedSet(SortedSet s)

返回由指定排序集支持的同步(線程安全)排序集。 為了保證串行訪問,對后備排序集的所有訪問都是通過返回的排序集(或其視圖)完成的,這一點至關重要。

當?shù)祷氐呐判蚣蚱淙魏巫蛹?、頭集或尾集視圖時,用戶必須手動同步返回的排序集。

  SortedSet s = Collections.synchronizedSortedSet(new TreeSet());
      ...
  synchronized (s) {
      Iterator i = s.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }

或者:

  SortedSet s = Collections.synchronizedSortedSet(new TreeSet());
  SortedSet s2 = s.headSet(foo);
      ...
  synchronized (s) {  // Note: s, not s2!!!
      Iterator i = s2.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }

不遵循此建議可能會導致不確定的行為。

如果指定的排序集是可序列化的,則返回的排序集將是可序列化的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 集合中對象的類別

參數(shù):

參數(shù)名稱 參數(shù)描述
s 將排序集“wrapped”在同步排序集中。

返回:

指定排序集的同步視圖。

synchronizedNavigableSet

public static NavigableSet synchronizedNavigableSet(NavigableSet s)

返回由指定導航集支持的同步(線程安全)導航集。 為了保證串行訪問,對支持導航集的所有訪問都是通過返回的導航集(或其視圖)完成的,這一點至關重要。

當?shù)祷氐目蓪Ш郊蚱淙魏巫蛹?、頭集或尾集視圖時,用戶必須手動同步返回的可導航集。

  NavigableSet s = Collections.synchronizedNavigableSet(new TreeSet());
      ...
  synchronized (s) {
      Iterator i = s.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }

或者:

  NavigableSet s = Collections.synchronizedNavigableSet(new TreeSet());
  NavigableSet s2 = s.headSet(foo, true);
      ...
  synchronized (s) {  // Note: s, not s2!!!
      Iterator i = s2.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }

不遵循此建議可能會導致不確定的行為。

如果指定的導航集是可序列化的,則返回的導航集將是可序列化的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 集合中對象的類別

參數(shù):

參數(shù)名稱 參數(shù)描述
s 將可導航集“wrapped”在同步可導航集中

返回:

指定導航集的同步視圖

synchronizedList

public static List synchronizedList(List list)

返回由指定列表支持的同步(線程安全)列表。 為了保證串行訪問,對后備列表的所有訪問都通過返回的列表完成是至關重要的。

用戶在迭代返回的列表時必須手動同步它:

  List list = Collections.synchronizedList(new ArrayList());
      ...
  synchronized (list) {
      Iterator i = list.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }

不遵循此建議可能會導致不確定的行為。

如果指定的列表是可序列化的,則返回的列表將是可序列化的。

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 列表中對象的類

參數(shù):

參數(shù)名稱 參數(shù)描述
list 要“wrapped”在同步列表中的列表。

返回:

指定列表的同步視圖。

synchronizedMap

public static Map synchronizedMap(Map m)

返回由指定映射支持的同步(線程安全)映射。 為了保證串行訪問,對支持映射的所有訪問都是通過返回的映射完成的,這一點至關重要。

當?shù)淙魏渭弦晥D時,用戶必須在返回的地圖上手動同步:

  Map m = Collections.synchronizedMap(new HashMap());
      ...
  Set s = m.keySet();  // Needn't be in synchronized block
      ...
  synchronized (m) {  // Synchronizing on m, not s!
      Iterator i = s.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }

不遵循此建議可能會導致不確定的行為。

如果指定的映射是可序列化的,則返回的映射將是可序列化的。

類型參數(shù):

    類型參數(shù)名
    當前題目:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSCollections
    分享鏈接:http://m.5511xx.com/article/coeohds.html
        <tt id="qllrn"><code id="qllrn"><nobr id="qllrn"></nobr></code></tt>