Kotlin從入門到放棄(二) 字符串和容器

Kotlin從入門到放棄(二) 字符串和容器

本篇是來記錄在Kotlin學習過程中字符串和容器的知識點,方便以後的查閱和複習。

字符串聲明

Kotlin中字符串類型的聲明和基本數據類型一樣

 var str:String = "Kotlin is very good"

字符串與基本類型的轉換

字符串轉換目標 Kotlin的轉換方式 Java的轉換方式
字符串轉整型 toInt方法 Integer.parseInt(字符串變量)
字符串轉長整型 toLong方法 Long.parseLong(字符串變量)
字符串轉浮點數 toFloat方法 Float.parseFloat(字符串變量)
字符串轉雙精度數 toDouble方法 Double.parseDouble(字符串變量)
字符串轉布爾型 toBoolean方法 Boolean.parseBoolean(字符串變量)
字符串轉字符數型 toCharArray方法 字符串變量的toCharArray方法

字符串的常用方法

1.字符串查找
  • indexOf() : 查找某一個元素或字符串在原字符串中第一次出現的下標。
2.字符串截取
  • substring
    startIndex參數:截取字符串的開始下標
    endIndex參數:截取字符串的結束下標
    rang參數,是指一個IntRang類型
3.字符串替換

-replace
oldChar: 需要替換的字符
newChar: 新的字符
ignoreCase : 是否引用Java中的replace()函數。默認值爲false,即用Java的replace()函數

4.字符串分割
  • split 用法同Java

字符串模板及其拼接

我們還Kotlin中直接加入 “$變量名”即可表示此處引用該變量的值。

"字符串的值爲$string"

有些變量需要計算的時候,需要用大括號把運算表達式抱起來,如下面所示

"字符串的長度爲${string.length}"

當我們想打出這個符號怎麼樣,這時候就要用Kotlin的轉義了。轉義的方法就是使用 “{'字符串'}”

//單個字符
\$  或者 ${'$'}
//字符串
${'需要轉義的字符串'}

容器

與Java類似,Kotlin也有三種基本的容器,集合Set,隊列List,映射Map。每種容器分爲只讀可變兩種類型。容器默認爲只讀類型,如果允許修改容器變量,就需要加上Mutable前綴表示可變容器。

  • MutableSet :可變集合
  • MutableList:可變隊列
  • MutableMap:可變映射
    只有可變容器才能對內部元素進行增刪查改的操作。
    容器的公共方法具體說明如下:
  • isEmpty :判斷容器是否爲空
  • isNotEmpty:判斷容器是否爲非空
  • clear:清空該容器
  • contains:是否包含指定元素
  • iterator :獲取容器的迭代器
  • count 獲取該容器的元素個數
// Kotlin 在聲明容器是就可以初始化賦值
  var list : List<String>  = listOf("Java","Kotlin")
Kotlin的容器 容器名稱 容器的初始化方法
只讀集合 Set setOf
可變集合 MutableSet mutableSetOf
只讀隊列 List listOf
可變隊列 MutableList mutableListOf
只讀映射 Map maoOf
可變映射 MutableMap mutableSetOf
1.集合Set/MutableSet

集合是一種最簡單的容器,他有下面的特徵
1. 內部的元素不按順序排列,無法按照小標進行訪問。
2. 容器內的元素存在唯一性,通過哈希值校驗是否存在相同的元素,若存在則將其覆蓋。

1.1MutableSet的性質
  1. 通過Add方法添加元素,集合是無序的,不知道添加的元素的位置。
  2. 沒有修改元素值的方法,一旦元素被添加,則不可被修改。
  3. remove移除指定元素,但無法刪除某個位置的元素。
1.2集合的遍歷
  1. 迭代器
 val iterator = set.iterator()
        whlie(iterator.hasNext()){
            var str = iterator.next()
            print(str)
        }
  1. for - in 循環
   for( str in set){
            print(str)
        }
  1. foreach
    推薦第三種,Kotlin使用的foreach遍歷,採用匿名函數的樣式,內部用it代表每個元素。
 set.forEach { print(it) }
2.隊列:List/MutableList

隊列是一種元素之間按照順序排列的容器,與集合最大的區別就是多了次序管理。具有以下性質

  1. 隊列能夠通過get方法獲取指定位置的元素,也可以直接通過下標獲取。
  2. MutableList的add方法是每次吧元素添加到隊列尾部,也可以添加到指定位置。
  3. MutableList的set方法可以修改指定位置的元素。
  4. Mutable的removeAt方法允許刪除指定位置的元素
  5. 隊列可以通過下標循環遍歷
// indices是隊列的下標數組 0-n
for (i in list.indices){
            print(list[i])
        }

6.MutableList 提供了sort方法給隊列中的元素重新排列。sortBy表示按條件升序排列,sortByDescending表示按條件降序排列。

  list.sortBy { it.length }
  list.sortByDescending { it.length }
3.映射Map/MutableMap

映射的內部存儲的是一組鍵值對(Key - Value),第一部分是元素的鍵,第二部分是元素的內容。具有以下性質。

  1. containsKey判斷是否存在指定鍵名的元素,containsValue判斷是否存在指定鍵值的元素。
  2. put方法添加元素的時候會先判斷是否存在指定元素,存在修改,不存在新增。
  3. remove來移除元素
  4. 初始化的時候採用 “鍵名 to 鍵值”的形式,或者Pair(鍵名,鍵值的形式)
 var map:MutableMap<String,String> = mutableMapOf("1" to "Kotlin")
 var map:MutableMap<String,String> = mutableMapOf(Pair("1","Kotlin"))

5.映射的遍歷方法同集合。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章