list集合類
kotlin的集合分類:
通常集合中的物件是指集合中物件的引用,集合型別主要有list(列表),set(集),map(對映)。
使用listof()函式建立list
建立不可變list(唯讀)
用下面函式建立的list是唯讀的,不可變的、可序列化的:
listof
()用於建立沒有元素的空list
listof
(vararg elements: t)用於建立擁有多個元素的list
listof
(element: t)用於建立只有乙個元素的list
例如:
建立乙個空list
val list : list
=listof()
log.
e(tag,list.
tostring()
)
列印出:
建立多個元素的list
val list: list
=listof
("1"
,"2"
,"2"
,"3"
) log.
e(tag, list.
tostring()
)
列印出[1, 2, 2, 3]
list的可變集合
list的可變集合有兩種:
在mutablelist中,新增了add/addall、remove/removeall/removeat、set、clear、retainall等更新修改的操作函式。
使用mutablelistof()建立可變集合
val list =
mutablelistof
("1"
,"2"
,"2"
,"3"
) list.
add(0,
"0")
//下標0 的位置新增"0」
log.
e(tag, list.
tostring()
)
列印出[0, 1, 2, 2, 3]
使用tomutablelist()轉換函式
將乙個不可變list轉變為可變list,可直接呼叫tomutablelist()
val list =
listof
("1"
,"2"
,"2"
,"3"
)// 呼叫tomutablelist()函式進行轉換 宣告新的 mlist
val mlist =list.
tomutablelist()
mlist.
add(
"4")
mlist.
add(2,
"22"
) log.
e(tag, mlist.
tostring()
)//如果現在列印list 控制台無輸出結果
列印出[1, 2, 22, 2, 3, 4]
遍歷list元素
使用iterator迭代器遍歷list元素
val list =
listof
("1"
,"2"
,"2"
,"3"
)val mlist =list.
iterator()
while
(mlist.
hasnext()
)
列印出:
122
3
使用for迴圈遍歷list元素val list =
listof
("1"
,"2"
,"2"
,"3"
)for
(i in list.indices)
列印結果同上。
逆向迴圈
val list =
listof
("1"
,"2"
,"2"
,"3"
)for
(i in list.size downto 0
)
列印出陣列下標
432
10
使用函式withindex()遍歷list元素val list =
listof
("1"
,"2"
,"2"
,"3"
)for
((index, value)
in list.
withindex()
)
使用foreach遍歷list元素val list =
listof
("1"
,"2"
,"2"
,"3"
) list.
foreach
常見的list元素操作函式
add, remove, set, clear 這些都是基本操作。
list1.
retainall
(list2)
list.
contains
(」6「)
//是否有」6「
list.
elementat(1
)
如果越界會拋indexoutofbound***ception。
list.
elementatorelse
(100,)
//預設返回0
list.
elementatornull
(100
)//返回null
list集合運算的基本函式
過濾操作函式
對映操作符
排序操作符
生產操作符
val list1 =
arraylistof
("a1"
,"a2"
,"a3"
)val list2=
arraylistof
("b1"
,"b2"
,"b3"
,"b4"
) log.
e(tag,list2.
zip(list1)
.tostring()
)
列印出[(b1, a1), (b2, a2), (b3, a3)]
val list1 =
arraylistof(0
,1,2
,3)val list2 =
arraylistof(4
,5,6
,7,8
) log.
e(tag,list1.
plus
(list2)
.tostring()
)
列印出[0, 1, 2, 3, 4, 5, 6, 7, 8]
Java之集合List的學習(二)
在初步學習了list集合類後,對list的三個子實現類也進行了學習。list三個子實現類分別是 arraylist,vector,linklist.特點 arraylist 底層資料結構式陣列結構,查詢塊,增刪慢 從記憶體角度考慮 執行緒不安全的,不同步的,執行效率高 vector 這是乙個執行緒安...
List集合學習筆記
asp.net unity開發 net培訓 期待與您交流!集合 1特點 集合中存放的都是物件,長度是不可變的,陣列可以存放基本資料型別,長度不可變。2框架 collection list 元素是有序的,元素可以重複,因為該集合體系有索引,特有的迭代器,listiterator是iterator的子介...
kotlin學習二 函式
宣告 funfun double x int int入口函式 mainfun main 引數 name type 函式引數使用 pascal 表示法定義,即 name type。引數用逗號隔開。每個引數必須有顯式型別 fun powerof number int,exponent int 預設引數 ...