zoukankan      html  css  js  c++  java
  • scala高阶函数之seq

    list是一个由首元素(head首元素)和其余元素组成的子List(tail), list还提供了idEmpty, 空列表nil等函数 。它是一个抽象类, 不能使用new来创建,需要使用伴生对象创建它。

    list创建示例

    package day3
    
    object demo_list {
        def main(args: Array[String]): Unit = {
            // list的创建
            val list1 = Nil
            val list2 = List[Int](1,2,3,4,5)
            println(list1.isEmpty)
            println(list2.isEmpty)
            println(list2.head)
            println(list2.tail)
            
            val list3 = getListVale(list2)
            println(list3)
        }
    
        def getListVale(list: List[Int]): Int ={
            if (list.isEmpty) 0
            else list.head + getListVale(list.tail)
        }
    }

    list的增删改查--增加

    package day3
    
    object demo_listcrdb {
        def main(args: Array[String]): Unit = {
            // 定义两个不可变列表
            val left = List[Int](1,2,3,4,5,6,7,8)
            val right = List[Int](6,7,8,9,10)
    
            println("添加一个元素")
            // 增加  在left头部位置加一个6,=
            var ret_list = left.+:(6) // 产生一个新的不可变的列表
            var ret_list2 = left.::(9) // 产生一个新的不可变的列表
            ret_list2 = left.:+(22)  // 在尾部加一个数值
            println(ret_list)
            println(ret_list2)
            println(left)
            println("-----------新增一个集合")
            ret_list2 = left.++:(right)  // left左侧添加一个集合
            ret_list2 = left.:::(right)  // left左侧添加一个集合
            println(ret_list2)
            ret_list2 = left.++(right)  // 在left末尾加一个集合
            println(ret_list2)
    
        }
    }

    删改查

    package day3
    
    object demo_listcrdb {
        def main(args: Array[String]): Unit = {
            // 定义两个不可变列表
            val left = List[Int](1,2,2,2,5,6,7,8)
            val right = List[Int](6,7,3,8,9,10)
    
            println("添加一个元素")
            // 增加  在left头部位置加一个6,=
            var ret_list = left.+:(6) // 产生一个新的不可变的列表
            var ret_list2 = left.::(9) // 产生一个新的不可变的列表
            ret_list2 = left.:+(22)  // 在尾部加一个数值
            println(ret_list)
            println(ret_list2)
            println(left)
            println("-----------新增一个集合")
            ret_list2 = left.++:(right)  // left左侧添加一个集合
            ret_list2 = left.:::(right)  // left左侧添加一个集合
            println(ret_list2)
            ret_list2 = left.++(right)  // 在left末尾加一个集合
            println("list2---->" + ret_list2)
    
            println("------------删除")
            val list3 = right.dropWhile(n=>n>5) // 从right左侧开始删除大于5的数,直到第一个条件不满足为止
            println(list3)
            println("------------修改")  //list为不可变集合, 不可修改
            println("------------查询")
            println(left(0), left(1), left(2))  //通过索引查询
            println(left.length)  // 列表长度
            println(left.isEmpty)  //是否为空
            println(left.contains(4))  // 是否包含4
            println(left.mkString("[",",","]"))  // 格式化
    
            // 高队函数 都是生成新列表
            println(left.distinct)  // 列表去重
            println(left.reverse) // 列表反转
            println(left.take(3))  // 获取集合中的前三个元素
            println(left.union(right)) // 并集
    
    
        }
    }
  • 相关阅读:
    07微博绑定用户接口(我们的约定还算数嘛。)
    08vue 微博回调空页面(最终还是没能留住你。)
    06vue微博回调空页面 (你还会来嘛)
    05微博回调接口 (念念不忘,必有回响吗。)
    04vue获取微博授权url(再也得不到你了。)
    03生成微博授权的url接口(再也没有你了)
    02微博开放平台使用方法 (在哪也不会再遇见你了。)
    01微博三方登录原理讲解(再多三方登录,也看不到你的信息。)
    Django-celery异步短信验证码(0)
    Django之重写用户表注册接口(redis缓存)
  • 原文地址:https://www.cnblogs.com/kongzhagen/p/15170197.html
Copyright © 2011-2022 走看看