1.1 總數操做html
方法做用:htm
any--判斷集合中是否有知足條件 的元素;對象
all--判斷集合中的元素是否都知足條件;blog
count--查詢集合中知足條件的元素個數;排序
fold--在給定初始值的基礎上,從第一項到最後一項進行累加;ip
foldRight--在給定初始值的基礎上,從最後一下到第一項進行累加,與fold只是的方向不一樣;element
forEach--循環遍歷元素,元素是it,可對每一個元素進行相關操做;get
forEachIndexed--循環遍歷元素,同時獲得元素index(下標);it
max--查詢最大的元素,若是沒有則返回null;io
maxBy--獲取方法處理後返回結果最大值對應的那個元素的初始值,若是沒有則返回null;
min--查詢最小的元素,若是沒有則返回null;
minBy--獲取方法處理後返回結果最小值對應那個元素的初始值,若是沒有則返回null;
none--判斷集合中是否都不知足條件,是則返回true;
reduce--與fold卻別在於沒有初始值,或者說初始值爲0,從第一項到最後一項進行累加;
reduceRight--從最後一下到第一項進行累加,與reduce只是方向的不一樣;
sumBy--獲取方法處理後返回結果值的總和;
1.2 過濾操做
方法做用:
drop--返回去掉前n個元素後的列表;
dropWhile--返回從第一項起,去掉知足條件的元素,直到不知足條件的一項爲止;
dropLastWhile--返回從最後一項起,去掉知足條件的元素,直到不知足條件的一項爲止;
filter--過濾掉全部不知足條件的元素;
filterNot--過濾掉全部知足條件的元素;
filterNotNull--過濾掉全部值爲null的元素;
slice--過濾掉非指定下標的元素,即保留下標對應的元素過濾List中指定下標的元素(好比這裏只保留下標爲1,3,4的元素),當過濾list中有元素值大於目標List大小時會出現異常;
take--返回從第一個開始的n個元素;
takeLast--返回從最後一個開始的n個元素;
takeWhile--返回不知足條件的下標前面的全部元素的集合;
1.3 映射操做
方法做用:
flatMap--合併兩個集合,能夠在合併的時候對迭代元素值it多想要的操做;
groupBy--將集合中的元素按照某個條件分組,返回Map;
map--將集合中的元素經過某個方法轉換後的結果存到一個集合中;
mapIndexed--除了獲得轉換後的結果,還能夠拿到index(下標);
mapNotNull--執行方法轉換前過濾掉爲null的元素;
打印結果:
[0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10]
{even=[0,2,4,6,8], odd=[1,3,5,7,9]}
[0,2,4,6,8,10,12,14,16,18]
[0,1,4,9,16,25,36,49,64,81]
[0,2,4,6,8,10,12,14,16,18]
1.4 元素操做
方法做用:
contains--判斷集合中是否有指定元素,有則返回true;
elementAt--查找下標對應的元素,若是下標越界會拋IndexOutOfBoundsException異常;
elementAtOrElse--查找下標對應元素,若是越界會根據方法返回默認值(最大下標經方法後的值);
elementAtOrNull--查找下標對應元素,越界會返回Null;
first--返回符合條件的第一個元素,沒有則會拋NoSuchElementException異常;
firstOrNull--返回符合條件的第一個元素,沒有返回null;
indexOf--返回指定下標的元素,沒有返回-1;
indexOfFirst--返回第一個符合條件的元素下標,沒有返回-1;
indexOfLast--返回最後一個符合條件的元素下標,沒有返回-1;
last--返回符合條件的最後一個元素,沒有則會拋NoSuchElementException異常;
lastIndexOf--返回符合條件的最後一個元素,沒有返回-1;
lastOrNull--返回符合條件的最後一個元素,沒有返回null;
single--返回符合條件的單個元素,若有沒有符合的或符合超過一個分別會拋NoSuchElementException或IllegalArgumentException異常;
singleOrNull--返回符合條件的單個元素,若有沒有符合或超過一個,返回null;
1.5 生產操做
方法做用:
partition--根據判斷條件是否成立,拆分紅兩個Pair;
plus--合併兩個List,能夠用"+"替代;
zip--兩個集合按照下標組合成一個個的Pair塞到集合中返回;
unzip--將包含多個Pair的List轉換成含List的Pair;
Pair對象的數據組成形式爲(first, secord),即Pair(1, 2).first能夠取出數據1。
1.6 排序操做
方法做用:
reversed--相反順序;
sorted--天然排序(升序);
sortedBy--根據方法處理結果進行天然(升序)排序;
sortedDescending--降序排序;
sortedByDescending--根據方法處理結果進行降序排序;
注意:新版kotlin須要調用sorted()這樣帶"ed"後綴的方法才能返回List,而sort()是返回Unit。那麼這兩種方法還有哪些區別,或者說分別在什麼場景下使用?
仍是以sort爲例,sorted()處理過程當中會新建臨時的List來保存結果數據,對原來的調用者List不會作任何改變,因此須要將新建的對象返回;而sort()是在原來的List基礎上進行元素順序的調整,不會新建對象,因此不須要返回List。
參考:http://www.cnblogs.com/tgyf/p/6892551.html?utm_source=itdadao&utm_medium=referral