Set 集合

?

默認情況下, Scala 使用的是不可變集合, 如果你想使用可變集合, 需要引用 scala.collection.mutable.Set?

Set 默認是不可變集合,數據無序

數據不可重復

遍歷集合

創建可變集合 mutable.Set

打印集合

集合添加元素

向集合中添加元素,返回一個新的 Set

刪除

Scala 中的 Map 和 Java 類似,也是一個散列表,它存儲的內容也是鍵值對(key-value) 映射

創建不可變集合 Map

循環打印

訪問數據

如果 key 不存在,返回 0

創建可變集合

打印集合

向集合增加數據

刪除數據

修改數據

元組也是可以理解為一個容器,可以存放各種相同或不同類型的數據。說的簡單點,就是將多個無關的數據封裝為一個整體,稱為元組。

??元組中最大只能有 22 個元素

聲明元組的方式:(元素 1,元素 2,元素 3)

訪問元組

Map 中的鍵值對其實就是元組,只不過元組的元素個數為 2,稱之為對偶

獲取集合長度

獲取集合大小

循環遍歷

迭代器

生成字符串

是否包含

獲取集合的頭

獲取集合的尾(不是頭的就是尾)

?集合最后一個數據

集合初始數據(不包含最后一個)

反轉

取前(后)n 個元素

去掉前(后)n 個元素

并集

交集

差集

拉鏈

求和

求乘積

最大值

最小值

排序

sorted :對一個集合進行自然排序,通過傳遞隱式的Ordering

sortBy: 對一個屬性或多個屬性進行排序,通過它的類型。

sortWith :基于函數的排序,通過一個 comparator 函數,實現自定義排序的邏輯。

過濾 遍歷一個集合并從中獲取滿足指定條件的元素組成一個新的集合

轉化/映射(map)將集合中的每一個元素映射到某一個函數

扁平化

扁平化+映射 注:flatMap 相當于先進行 map 操作,在進行 flatten 操作集合中的每個元素的子元素映射到某個函數并返回新集合

分組(group) 按照指定的規則對集合的元素進行分組

簡化(歸約)

折疊

Reduce 簡化(歸約) :通過指定的邏輯將集合中的數據進行聚合,從而減少數據,最終獲取結果。

Fold 折疊:化簡的一種特殊情況。

Scal也提供了隊列(Queue)的數據結構,隊列的特點就是先進先出。進隊和出隊的方法分別為 enqueue 和dequeue

Scala 為了充分使用多核 CPU,提供了并行集合(有別于前面的串行集合),用于多核環境的并行計算。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/76128.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/76128.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/76128.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

最新 OpenHarmony 系統一二級目錄整理

我們在學習 OpenHarmony 的時候,如果對系統的目錄結構了解,那么無疑會提升自己對 OpenHarmony 更深層次的認識。 于是就有了今天的整理。 首先在此之前,我們要獲取源碼 獲取源碼的方式 OpenHarmony 主干代碼獲取 方式一(推薦&am…

STL常用容器整理

STL常用容器操作整理 STL常用容器操作整理(string/vector/set/map)一、string(字符串)構造函數元素訪問修改操作容量操作子串與查找 二、vector(動態數組)構造函數元素訪問修改操作容量操作 三、set&#x…

Unity 實現傷害跳字

核心組件: Dotween TextMeshPro 過程軌跡如下圖: 代碼如下: using System.Collections; using System.Collections.Generic; using DG.Tweening; using TMPro; using UnityEngine; using UnityEngine.Pool;public class …

Ubuntu 22.04 AI大模型環境配置及常用工具安裝

一、基礎環境準備 1.1 系統準備 建議使用 Ubuntu22.04 以下配置皆以 Ubuntu22.04 系統版本為例 1.2 安裝git apt-get update && apt-get install git -y1.3 安裝 Python 3.9 【建議安裝 3.10】(安裝miniconda或者conda來管理虛擬環境) wget …

STM32單片機入門學習——第27節: [9-3] USART串口發送串口發送+接收

寫這個文章是用來學習的,記錄一下我的學習過程。希望我能一直堅持下去,我只是一個小白,只是想好好學習,我知道這會很難,但我還是想去做! 本文寫于:2025.04.08 STM32開發板學習——第27節: [9-3] USART串口發送&串口發送接收 前言開發板說…

前端實現docx格式word文件預覽,可以兼容原生、vue2、以及uni-app 項目,詳細步驟。

上一篇記錄了PDF文件預覽功能。這一篇記錄下docx文件預覽。 核心文件 doc.html <script src"./build/polyfill.min.js"></script> <script src"./build/jszip.min.js"></script> <script src"./build/docx-preview.js&…

Java中的ArrayList方法

1. 創建 ArrayList 實例 你可以通過多種方式創建 ArrayList 實例&#xff1a; <JAVA> ArrayList<String> list new ArrayList<>(); // 創建一個空的 ArrayList ArrayList<String> list new ArrayList<>(10); // 創建容量為 10 的 ArrayList …

【anaconda下py】

38 https://repo.anaconda.com/archive/Anaconda3-2020.11-Windows-x86.exe 39 https://repo.anaconda.com/archive/Anaconda3-2022.10-Windows-x86_64.exe 310https://repo.anaconda.com/archive/Anaconda3-2023.03-0-Windows-x86_64.exe 歷史列表Index of /archive 遠程&…

linux--------------進程控制(下)

一、進程等待 1.1 進程等待必要性 子進程退出后&#xff0c;若父進程不管不顧&#xff0c;可能會產生 “僵尸進程”&#xff0c;進而造成內存泄漏。進程一旦變為僵尸狀態&#xff0c;即使使用 kill -9 也無法將其殺死&#xff0c;因為無法殺死一個已死的進程。父進程需要了解…

docker 中跑faster-whisper 教程(1050顯卡)

之前我本地機器運行faster-whisper 會報錯類似 Could not load library libcudnn_ops_infer.so.8github 上也有類似的情況 &#xff1a;https://github.com/SYSTRAN/faster-whisper/issues/516#issuecomment-2785038635 缺少.so.8 文件&#xff0c;我通過以下方式&#xff0c;…

人大金倉數據庫dum文件進行備份數據和恢復數據

邏輯備份命令: sys_dump -U SYSTEM -d problem_dev -Fc -f /db_backup/kingbase/dump/problem_dev/problem_dev20240329.dmp用戶:SYSTEM 數據庫名:problem_dev 格式:自定義格式(-Fc) 輸出文件:/db_backup/kingbase/dump/problem_dev/problem_dev20240329.dmp sys_dump…

Java的Selenium元素定位-xpath

xpath其實就是一個path(路徑)&#xff0c;一個描述頁面元素位置信息的路徑&#xff0c;相當于元素的坐標xpath基于XML文檔樹狀結構&#xff0c;是XML路徑語言&#xff0c;用來查詢xml文檔中的節點。 絕對定位 從根開始找--/(根目錄)/html/body/div[2]/div/form/div[5]/button缺…

python-Leetcode 65.搜索旋轉排序數組

題目&#xff1a; 整數數組nums按升序排列&#xff0c;數組中的值互不相同 在傳遞給函數之前&#xff0c;nums在預先未知的某個小標K上進行了旋轉&#xff0c;使數組變為[nums[k], nums[k1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]]&#xff0c;小標從0開始計數。…

學透Spring Boot — 010. 單元測試和Spring Test

系列文章目錄 這是CSDN postnull 博客《學透Spring Boot》系列的一篇&#xff0c;更多文章請移步&#xff1a;Postnull - 學透Spring Boot系列文章 文章目錄 系列文章目錄前言1. 基本概念UT 單元測試TDD 測試驅動開發UT測試框架Mock框架 3. Spring Test為什么要用Spring Test引…

Chrome 135 版本新特性

Chrome 135 版本新特性 一、Chrome 135 版本瀏覽器更新 ** 1. 第三方托管賬戶注冊遷移到 OIDC 授權碼流程** Chrome 135 將賬戶注冊的登錄頁面從營銷網站遷移到動態網站&#xff0c;同時也將 OpenID Connect (OIDC) 的隱式流程遷移到授權碼流程。這樣做的目的是進一步提升第…

Docker Swarm集群搭建與管理全攻略

文章目錄 一、節點準備二、初始化 manager 節點三、管理 swarm 集群中的 worker 節點1、添加 worker 節點2、查看 worker 節點3、刪除 worker 節點 四、管理 swarm 集群服務1、創建服務2、查看服務3、刪除服務 五、管理 swarm 節點服務1、節點標簽管理2、創建服務3、查看服務4、…

離線語音識別 ( 小語種國家都支持)可定制詞組

1產品介紹 離線語音模組采用神經網絡算法&#xff0c;支持語音識別、自學習等功能。運用此模組將 AI 技 術賦能產品&#xff0c;升級改造出語音操控的智能硬件 ( 例如風扇、臺燈、空調、馬桶、按摩椅、運 動相機、行車記錄儀等 ) 。支持全球多種語言識別&#xff0c;如中文…

Docker與VNC的使用

https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc 下載nvc 客戶端 https://downloads.realvnc.com/download/file/viewer.files/VNC-Viewer-7.12.0-Windows.exe 服務端 docker pull dorowu/ubuntu-desktop-lxde-vnc#下載成功 docker pull dorowu/ubuntu-desktop-l…

Linux系統學習Day0——了解和熟悉Linux系統的遠程終端登錄和數據傳輸

一、Windows系統與Linux系統虛擬機通過橋接進行網絡連接 &#xff08;一&#xff09;橋接模式 橋接模式是虛擬機網絡連接的一種常見方式&#xff0c;其核心原理是通過虛擬網卡將Linux虛擬機與宿主機的物理網卡建立橋接關系&#xff0c;使虛擬機能夠直接接入物理網絡。在該模式…

【開題報告+論文+源碼】基于springboot的農貿菜市場租位管理系統的設計與實現

項目背景與意義 隨著信息技術的快速發展和普及&#xff0c;信息化管理已成為各行業提升運營效率和服務質量的重要手段。農貿菜市場作為城市生活的重要組成部分&#xff0c;其管理效率和服務水平直接關系到市民的日常生活體驗。傳統的農貿菜市場租位管理方式往往存在信息不對稱、…