日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/6/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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 函数拉平集合元素 | 代码示例 )的全部內容,希望文章能夠幫你解決所遇到的問題。

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