📝 Scala Collections教程
40篇技术文档📅  最后修改于: 2020-11-02 04:30:17        🧑  作者: Mango
Scala映射是键/值对的集合。可以根据其键检索任何值。键在地图中是唯一的,但值不必是唯一的。映射也称为哈希表。有两种Maps,不变的和可变的。可变对象与不可变对象之间的区别在于,当对象不可变时,则不能更改对象本身。默认情况下,Scala使用不可变的Map。如果要使用可变Map,则必须显式导入scala.collection.mutable.Map类。如果要同时使用可变和不可变的Maps,则可以继...
📅  最后修改于: 2020-11-02 04:30:40        🧑  作者: Mango
Scala映射是键/值对的集合。可以根据其键检索任何值。键在地图中是唯一的,但值不必是唯一的。 HashMap实现不可变的映射,并使用哈希表实现相同的映射。声明HashMap变量以下是用于声明HashMap变量的语法。句法在这里,颜色被声明为Strings,Int的哈希映射,它具有三个键值对。可以使用以下命令添加值-命令处理HashMap下面是一个示例程序,显示了如何创建,初始化和处理HashMa...
📅  最后修改于: 2020-11-02 04:31:02        🧑  作者: Mango
Scala映射是键/值对的集合。可以根据其键检索任何值。键在地图中是唯一的,但值不必是唯一的。 ListMap实现不可变的映射,并使用list来实现相同的映射。它与少量元素一起使用。声明ListMap变量以下是声明ListMap变量的语法。句法在这里,颜色被声明为Strings,Int的哈希映射,它具有三个键值对。可以使用以下命令添加值-命令处理ListMap以下是显示如何创建,初始化和处理Lis...
📅  最后修改于: 2020-11-02 04:31:26        🧑  作者: Mango
迭代器不是集合,而是一种逐个访问集合元素的方式。迭代器上的两个基本操作是next和hasNext。对其进行调用。next()将返回迭代器的下一个元素,并提高迭代器的状态。您可以使用Iterator的it.hasNext方法查找是否还有其他要返回的元素。“遍历”迭代器返回的所有元素的最直接方法是使用while循环。让我们遵循以下示例程序。例将以上程序保存在Demo.scala中。以下命令用于编译和执...
📅  最后修改于: 2020-11-02 04:31:51        🧑  作者: Mango
Scala Option [T]是给定类型的零个或一个元素的容器。 Option [T]可以是Some [T]或None对象,表示缺少值。例如,Scala Map的get方法如果找到了与给定键相对应的值,则生成Some(value);如果Map中未定义给定键,则生成None。选项类型在Scala程序中经常使用,您可以将其与Java中可用的空值(表示无值)进行比较。例如,java.util.Hash...
📅  最后修改于: 2020-11-02 04:32:10        🧑  作者: Mango
队列是先进先出的FIFO数据结构,并允许以FIFO方式插入和检索元素。声明队列变量以下是声明Queue变量的语法。句法在这里,队列被声明为数字队列。可以使用以下命令在前面添加值-命令可以使用以下命令在前面检索值-命令处理队列下面是一个示例程序,显示了如何创建,初始化和处理Queue-例将以上程序保存在Demo.scala中。以下命令用于编译和执行该程序。命令输出...
📅  最后修改于: 2020-11-02 04:32:38        🧑  作者: Mango
Scala元组将固定数量的项目组合在一起,以便它们可以作为整体传递。与数组或列表不同,元组可以容纳不同类型的对象,但它们也是不可变的。以下是一个包含整数,字符串和控制台的元组的示例。以下是哪种语法糖(快捷方式)-元组的实际类型取决于其包含的元素的数量和元素以及这些元素的类型。因此,(99,“ Luftballons”)的类型为Tuple2 [Int,String]。 (’u’,’r’,“ the”...
📅  最后修改于: 2020-11-02 04:32:54        🧑  作者: Mango
Scala Seq是代表不变序列的特征。这种结构提供了基于索引的访问和各种实用方法来查找元素,元素的出现和子序列。一个Seq保持插入顺序。声明Seq变量以下是声明Seq变量的语法。句法在此,seq被声明为数字的Seq。 Seq提供如下命令:命令处理顺序下面是一个示例程序,显示了如何创建,初始化和处理Seq-例将以上程序保存在Demo.scala中。以下命令用于编译和执行该程序。命令输出...
📅  最后修改于: 2020-11-02 04:33:09        🧑  作者: Mango
堆栈是后进先出的LIFO数据结构,并允许以LIFO方式在顶部插入和检索元素。声明堆栈变量以下是声明Stack变量的语法。句法在这里,堆栈被声明为数字堆栈。可以使用以下命令在顶部添加值-命令可以使用以下命令从顶部检索值-命令可以使用以下命令从顶部删除值-命令处理堆栈下面是一个示例程序,显示了如何创建,初始化和处理堆栈-例将以上程序保存在Demo.scala中。以下命令用于编译和执行该程序。命令输出...
📅  最后修改于: 2020-11-02 04:33:25        🧑  作者: Mango
Scala Stream是具有延迟评估功能的特殊列表。在scala流中,仅在需要时才评估元素。 Stream支持延迟计算,并且精通性能。声明流变量以下是声明Stream变量的语法。句法在这里,流被声明为数字流。这里1是流的头,2,3是流的头。 Stream.empty标记流的结尾。可以使用如下所示的take命令来检索值-命令处理流下面是一个示例程序,显示了如何创建,初始化和处理Stream-例将以...
📅  最后修改于: 2020-11-02 04:33:38        🧑  作者: Mango
drop()方法是List用于选择列表中前n个元素以外的所有元素的方法。句法以下是drop方法的语法。在此,n是要从列表中删除的元素数。此方法返回列表中除前n个元素之外的所有元素。用法以下是显示如何使用放置方法的示例程序-例将以上程序保存在Demo.scala中。以下命令用于编译和执行该程序。命令输出...
📅  最后修改于: 2020-11-02 04:33:52        🧑  作者: Mango
dropWhile()方法是List用来删除满足给定条件的所有元素的方法。句法以下是dropWhile方法的语法。在这里,p:(A)=>布尔值是要应用于列表的每个元素的谓词或条件。此方法返回list的所有元素(除去的元素除外)。用法下面是一个示例程序,显示了如何使用dropWhile方法-例将以上程序保存在Demo.scala中。以下命令用于编译和执行该程序。命令输出...
📅  最后修改于: 2020-11-02 04:34:06        🧑  作者: Mango
filter()方法是List用于选择满足给定谓词的所有元素的方法。句法以下是filter方法的语法。在这里,p:(A)=>布尔值是要应用于列表的每个元素的谓词或条件。此方法返回满足给定条件的list的所有元素。用法以下是显示如何使用过滤方法的示例程序-例将以上程序保存在Demo.scala中。以下命令用于编译和执行该程序。命令输出...
📅  最后修改于: 2020-11-02 04:34:20        🧑  作者: Mango
find()方法是迭代器用来查找满足给定谓词的元素的方法。句法以下是find方法的语法。在这里,p:(A)=>布尔值是要在迭代器的每个元素上应用的谓词或条件。该方法返回包含满足指定条件的迭代器匹配元素的Option元素。用法以下是显示如何使用查找方法的示例程序-例将以上程序保存在Demo.scala中。以下命令用于编译和执行该程序。命令输出...
📅  最后修改于: 2020-11-02 04:34:35        🧑  作者: Mango
flatMap()方法是TraversableLike特质的方法,它采用一个谓词,将其应用于集合的每个元素,并返回该谓词返回的元素的新集合。句法以下是flatMap方法的语法。在这里,f:(A)? GenTraversableOnce [B]是要应用于集合的每个元素的谓词或条件。该方法返回包含满足指定条件的迭代器匹配元素的Option元素。用法以下是显示如何使用flatMap方法的示例程序-例将以...