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")
}