Groovy: 對Collection進行sum操作

在Groovy里, 如果要對一個Collection或數(shù)組里的元素求和,只需要調(diào)用一下sum方法既可

def list = [1,2,3,4,5,6,7,8];
println list.sum(); // Output:36
println list.sum(10); // Output:46

sum可以有參數(shù), 也可以沒有參數(shù)。 有參數(shù)的話參數(shù)也會被記入總和。

不僅僅是數(shù)值類型的collection可以進行求和運算, 實現(xiàn)了plus方法的類的集合也可以:
class Person {
String name;
BigInteger salary;

Person plus(Person that){
    return new Person(salary: this.salary + that.salary)
}

}

def persons = [
new Person(salary:1000, name:"Tom"),
new Person(salary:2000, name:"Sam"),
new Person(salary:3000, name:"Kim")
];

println persons.sum().salary // Output: 6000
println persons.sum {it.salary} // Output: 6000
println persons*.salary.sum() // Output: 6000
原文鏈接:http://www.myexception.cn/program/1304712.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • //Clojure入門教程: Clojure – Functional Programming for the J...
    葡萄喃喃囈語閱讀 4,044評論 0 7
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,692評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • groovy是什么 Groovy 是下一代的Java語言,跟java一樣,它也運行在 JVM 中。 作為跑在JVM...
    ronaldo18閱讀 772評論 0 4
  • 死亡并不是一種痛苦,而是一個終將降臨的節(jié)日,可對于我來說,卻連選擇死亡的權(quán)利都沒有。 我叫克蘿貝露絲,在我記憶的伊...
    吳惟閱讀 525評論 2 3

友情鏈接更多精彩內(nèi)容