Kotlin_小练习(Lambda)

Thader类

package xx

class Trader(val name: String, var city: String) {

    override fun toString(): String {
        return "Trader:" + name + " in " + city
    }

}

Transaction数据类

package xx

class Transaction(val trader: Trader, val year: Int, val value: Int) {

    override fun toString(): String {
        return "{" + trader + ", " +
                "year: " + year + ", " +
                "value:" + value + "}"
    }

}

Demo(跑主线程)

package xx

import java.util.*


fun main() {
    var raoul = Trader("Raoul", "Cambridge")
    var mario = Trader("Mario", "Milan")
    var alan = Trader("Alan", "Cambridge")
    var brian = Trader("Brian", "Cambridge")

    var transactions = Arrays.asList(
            Transaction(brian, 2011, 300),
            Transaction(raoul, 2012, 1000),
            Transaction(raoul, 2011, 400),
            Transaction(mario, 2012, 710),
            Transaction(mario, 2012, 700),
            Transaction(alan, 2012, 950)
    )
    //1.找出2011年发生的所有交易,并按交易额排序
        transactions.filter { it.year==2011 }.sortedBy { it.value }.forEach { println(it) }

    //2 查找所有来自剑桥的交易员,并按姓名排序
    transactions.filter { it.trader.city=="Cambridge" }.sortedBy { it.trader.name }.forEach { println(it) }

    //3 有没有交易员在米兰工作的?
    var  peopleNum   = 0
    transactions.forEach { if (it.trader.city=="Milan") peopleNum++ }
    if (peopleNum>0){
        println("有且有 $peopleNum 个")}
    //4打印生活在剑桥的交易员的所有交易额
    transactions.forEach { if (it.trader.city=="Cambridge") {
        println(it.value)}  }
    //5最高交易额
    var zuigao = transactions.component1().value
    transactions.forEach { if (it.value > zuigao) zuigao = it.value }
    println("最高交易额: $zuigao")
    //6最小交易额
    var zuixiao = transactions.component1().value
    transactions.forEach { if (it.value < zuigao) zuigao = it.value }
    println("最小交易额: $zuixiao")

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值