Kotlin基礎(4)——Kotlin中的集合

(1)集合框架的接口類型對比

(2)集合框架的創建

Java中創建List集合:

List<Integer> intList=new ArrayList<>(Arrays.asList(1,2,3));

Kotlin中創建List集合:

        /**
         * 該函數返回不可變的List集合,只能訪問不能添加和刪除,該函數可接受0個或多個參數,這些參數將作爲集合的元素。
         */
        val intList1=listOf<Int>(1,2,3)

        /**
         * 該函數返回不可變的List集合。該函數與前一個函數的唯一區別是,該函數會自動去掉傳入的一系列參數中的null值。
         */
        val intList2= listOfNotNull(1,2,3)

        /**
         * 該函數返回可變的MutableList集合。該函數可接受0個或多個參數,這些參數將作爲集合的元素。
         */
        val intList3= mutableListOf<Int>(1,2,3)

        /**
         * 該函數返回可變的ArrayList集合。該函數可接受0個或多個參數,這些參數將作爲集合的元素。
         */
        val intList4= arrayListOf<Int>(1,2,3)

Kotlin中創建Map集合:

        /**
         * 創建可變的Map集合
         */
        val map1= mapOf<String,Any>("name" to "zhangsan","age" to 20)

        /**
         * 創建不可變的Map集合
         */
        val map2= mutableMapOf<String,Any>("name" to "zhangsan","age" to 20)

注意:這裏的Any相當於Java中的Object

Kotlin中創建ArrayList:

val stringList=ArrayList<String>()

(3)集合框架的讀寫

Java中集合的添加:

        List<String> stringList=new ArrayList<>();
        for (int i=0;i<10;i++){
            stringList.add("num:"+i);
        }

Kotlin中集合的添加:

        val stringList=ArrayList<String>()
        for(i in 0 until 10){
            stringList.add("num:$i")
        }

或者

        val stringList=ArrayList<String>()
        for(i in 0 until 10){
            stringList+="num:$i"
        }

注意:對於List來講,+=等價於add

Java中集合的刪除:

        List<String> stringList=new ArrayList<>();
        for (int i=0;i<10;i++){
            stringList.remove("num:"+i);
        }

Kotlin中集合的刪除:

        val stringList=ArrayList<String>()
        for(i in 0 until 10){
            stringList.remove("num:$i")
        }

或者

        val stringList=ArrayList<String>()
        for(i in 0 until 10){
            stringList-="num:$i"
        }

注意:對於List來講,-=等價於remove

Java中對集合ArrayList的修改和讀取:

stringList.set(5,"Hello");
String valueAt5=stringList.get(5);

Kotlin中對集合ArrayList的修改和讀取:

stringList[5]="Hello"
val valueAt5=stringList[5]

Java中對集合Map的修改和讀取:

HashMap<String,Integer> map=new HashMap<>();
map.put("Hello",10);
System.out.println(map.get("Hello"));

Kotlin中對集合Map的修改和讀取:

val map=HashMap<String,Int>()
map["Hello"]=10
println(map["Hello"])

(4)Pair

val pair="Hello" to "Kotlin"
val pair2=Pair("Hello","Kotlin")
val first=pair.first
val second=pair.second
val(x,y)=pair//解構

(5)Triple

val triple=Triple("x",2,3.0)
val tripleFirst=triple.first
val tripleSecond=triple.second
val tripleThrid=triple.third
val (x,y,z)=triple//解構

 

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