函数的定义与调用之在Kotlin中创建集合

        //创建set
        val set = hashSetOf<Int>(1, 3, 5, 7, 9)

        Log.i("zhoujian", "set.max=" + set.max());

        //创建list
        val list = arrayListOf<Int>(1, 3, 5, 7, 9)
        Log.i("zhoujian", "list.last=" + list.last());

        //创建map
        val map = hashMapOf<Int, String>(1 to "one", 2 to "two", 3 to "three")

        Log.i("zhoujian", "set=" + set.javaClass);
        Log.i("zhoujian", "list=" + list.javaClass);
        Log.i("zhoujian", "map=" + map.javaClass);
2019-05-18 16:10:16.006 24614-24614/? I/zhoujian: set.max=9
2019-05-18 16:10:16.006 24614-24614/? I/zhoujian: list.last=9
2019-05-18 16:10:16.006 24614-24614/? I/zhoujian: set=class java.util.HashSet
2019-05-18 16:10:16.006 24614-24614/? I/zhoujian: list=class java.util.ArrayList
2019-05-18 16:10:16.006 24614-24614/? I/zhoujian: map=class java.util.HashMap

可以看出Kotlin中采用的是标准的Java集合类

让函数更好调用


    fun <T> joinToString(collection: Collection<T>, separator: String, prefix: String, postfix: String): String {
        val resault = StringBuffer(prefix)
        for ((index, element) in collection.withIndex()) {
            if (index > 0) resault.append(separator)
            resault.append(element)
        }
        resault.append(postfix)
        return resault.toString()
    }
        val list = listOf(1, 2, 3)
        Log.i("zhoujian", "list=" + joinToString(list, ";", "(", ")"));


05-20 14:57:17.388 32259-32259/com.zhoujian.kotlindemo I/zhoujian: list=(1;2;3)

命名参数

    Log.i("zhoujian", "list=" + joinToString(collection = list, separator = ";", prefix = "(", postfix = ")"));

默认参数值


    fun <T> joinToString(collection: Collection<T>, separator: String = ",", prefix: String = "", postfix: String = ""): String {
        val resault = StringBuffer(prefix)
        for ((index, element) in collection.withIndex()) {
            if (index > 0) resault.append(separator)
            resault.append(element)
        }
        resault.append(postfix)
        return resault.toString()
    }

        val list = listOf(1, 2, 3)
        Log.i("zhoujian", "list=" + joinToString(list, ";", "(", ")"));
        Log.i("zhoujian", "list=" + joinToString(list, ";", "[", "]"));
        Log.i("zhoujian", "list=" + joinToString(list, ";"));

打印结果:

05-20 15:31:04.462 6163-6163/com.zhoujian.kotlindemo I/zhoujian: list=(1;2;3)
05-20 15:31:04.462 6163-6163/com.zhoujian.kotlindemo I/zhoujian: list=[1;2;3]
05-20 15:31:04.462 6163-6163/com.zhoujian.kotlindemo I/zhoujian: list=1;2;3
发布了272 篇原创文章 · 获赞 68 · 访问量 40万+

猜你喜欢

转载自blog.csdn.net/u014005316/article/details/90316582
今日推荐