日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Groovy】集合遍历 ( 集合中有集合元素时调用 flatten 函数拉平集合元素 | 代码示例 )

發布時間:2025/6/17 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Groovy】集合遍历 ( 集合中有集合元素时调用 flatten 函数拉平集合元素 | 代码示例 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、集合中有集合元素時調用 flatten 函數拉平集合元素
  • 二、完整代碼示例





一、集合中有集合元素時調用 flatten 函數拉平集合元素



在上一篇博客 【Groovy】集合遍歷 ( 操作符重載 | 集合中的 “ << “ 操作符重載 | 使用集合中的 “ << “ 操作符添加一個元素 | 使用集合中的 “ << “ 操作符添加一個集合 ) 中 , 使用集合中的 “ << “ 操作符添加一個集合 , 得到的結果是 [“1”, “2”, “3”, “4”, [“5”, “6”]] ;


如果想要得到 [“1”, “2”, “3”, “4”, “5”, “6”] 結果 , 可以調用 集合的 flatten 方法 , 拉平該集合 , 就會自動將 集合中的 集合元素 拆分成單個元素 , 最終可以得到一個全部都是 String 對象的集合 ;


拉平集合 時 , 如果集合中存在 數組 或 集合 , 會創建一個新集合 , 將 集合中的 數組 或 集合元素 , 添加到新集合中 , 原集合保持不變 ;

拉平集合 是一個有風險的操作 , 會改變集合的原始值 , 因此這里創建一個新集合存放拉平后的集合 , 不在原集合的基礎上進行修改 ;


Collection 的 flatten 函數原型 :

/*** 拉平集合。此集合和任何嵌套數組或集合的內容(遞歸地)添加到新集合中。* <pre class="groovyTestCase">assert [1,2,3,4,5] == [1,[2,3],[[4]],[],5].flatten()</pre>** @param self 要拉平的集合* @return 返回一個新集合 , 該集合中的元素都被拉平了* @since 1.6.0*/public static Collection<?> flatten(Collection<?> self) {return flatten(self, createSimilarCollection(self));}



二、完整代碼示例



完整代碼示例 :

class Test {static void main(args) {// 為 ArrayList 設置初始值def list = ["1", "2", "3"]// I. 集合的 " << " 操作符重載 , 添加元素// 操作符重載 " << " 操作符相當于調用 leftShift 方法def list2 = list << "4"// 打印 [1, 2, 3, 4]println list// 打印 [1, 2, 3, 4]println list2// II. 集合的 " << " 操作符重載 , 添加集合// 操作符重載 " << " 操作符相當于調用 leftShift 方法list2 = list << ["5", "6"]// 打印 [1, 2, 3, 4, [5, 6]]println list// 打印 [1, 2, 3, 4, [5, 6]]println list2// III. 調用集合的 flatten 方法拉平集合// 拉平集合list2 = list.flatten();// 打印 [1, 2, 3, 4, [5, 6]]println list// 打印 [1, 2, 3, 4, 5, 6]println list2} }

執行結果 :

[1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4, [5, 6]] [1, 2, 3, 4, [5, 6]] [1, 2, 3, 4, [5, 6]] flatten : [1, 2, 3, 4, 5, 6]

總結

以上是生活随笔為你收集整理的【Groovy】集合遍历 ( 集合中有集合元素时调用 flatten 函数拉平集合元素 | 代码示例 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。