scala 数组合并_Scala程序合并两个数组或数组缓冲区

scala 数组合并

Scala | 合并两个数组 (Scala | Merging two arrays)

Arrays are important data structures in programming and there may arise times when we have two different arrays and we need to merge them into one for processing. This is the case when you need array concatenation which is the process to merge to arrays by appending the elements of the second array after the elements of the first array.

数组是编程中重要的数据结构,当我们有两个不同的数组并且需要将它们合并为一个数组进行处理时,可能会出现这种情况。 在需要数组级联的情况下就是这种情况,这是通过将第二个数组的元素追加到第一个数组的元素之后而合并到数组的过程。

Arrays in Scala are generally immutable, so we need to create a new array that will store the concatenated array in Scala. Or another method could be creating mutable arrays that will save memory. 

Scala中的数组通常是不可变的,因此我们需要创建一个新数组,该数组将在Scala中存储级联数组。 或者另一种方法是创建可节省内存的可变数组。

For merging two arrays Scala provides you multiple methods and we will discuss them one by one in this article.

为了合并两个数组,Scala为您提供了多种方法,我们将在本文中逐一讨论。

1)使用concat()方法 (1) Using the concat() method)

In Scala, there is a method named concat() that is used to concatenate two arrays.

在Scala中,有一个名为concat()的方法用于连接两个数组。

Syntax:

句法:

    concat(array_1, array_2)

This method returns an array which is a concatenated array.

此方法返回一个数组,该数组是一个级联数组。

Program to concatenate two arrays using concat() method

程序使用concat()方法连接两个数组

object myObject {
def main(args: Array[String]) {
val array1 = Array(56, 12, 67) 
print("Array 1: ")  
for(i <- 0 to array1.length-1)
print(array1(i)+" ")
val array2 = Array(83, 45, 90) 
print("\nArray 2: ")  
for(i <- 0 to array2.length-1)
print(array2(i)+" ")
val array3 = Array.concat(array1, array2) 
print("\nMerged array: ")  
for(i <- 0 to array3.length-1)
print(array3(i)+" ") 
}
}

Output

输出量

Array 1: 56 12 67 
Array 2: 83 45 90 
Merged array: 56 12 67 83 45 90 

2)使用++方法 (2) Using the ++ method)

To merge two arrays into one ++ method can also be used.

将两个数组合并为一个++方法也可以使用。

Syntax:

句法:

    array1 ++ array2 

This will return the merge array.

这将返回合并数组。

Program to concatenate two arrays using ++ method

程序使用++方法连接两个数组

object myObject {
def main(args: Array[String]) {
val array1 = Array("Include", "Help") 
print("Array 1: ")  
for(i <- 0 to array1.length-1)
print(array1(i)+" ")
val array2 = Array("Learn", "Programming") 
print("\nArray 2: ")  
for(i <- 0 to array2.length-1)
print(array2(i)+" ")
val array3 = array1 ++ array2
print("\nMerged array: ")  
for(i <- 0 to array3.length-1)
print(array3(i)+" ") 
}
}

Output

输出量

Array 1: Include Help 
Array 2: Learn Programming 
Merged array: Include Help Learn Programming 

合并两个可变数组(arrayBuffers) (Merging two mutable arrays (arrayBuffers))

We can assign the concatenated array to any of the existing arrays when they are mutable. Both methods, concat() and ++ apply to ArrayBuffer also. A method assignment method can also be applied to the ArrayBuffer which is +=.

当它们可变时,我们可以将级联数组分配给任何现有数组。 concat()和++这两种方法也适用于ArrayBuffer 。 方法分配方法也可以应用于+ =的ArrayBuffer 。

Program to concatenate two ArrayBuffer into one

程序将两个ArrayBuffer连接为一个

import scala.collection.mutable.ArrayBuffer
object myObject {
def main(args: Array[String]) {
val array1 = ArrayBuffer(12, 43, 54) 
print("Array 1: ")  
for(i <- 0 to array1.length-1)
print(array1(i)+" ")
val array2 = ArrayBuffer(465, 787, 99) 
print("\nArray 2: ")  
for(i <- 0 to array2.length-1)
print(array2(i)+" ")
array1 ++= array2
print("\nMerged array: ")  
for(i <- 0 to array1.length-1)
print(array1(i)+" ") 
}
}

Output

输出量

Array 1: 12 43 54 
Array 2: 465 787 99 
Merged array: 12 43 54 465 787 99

翻译自: https://www.includehelp.com/scala/program-to-merge-two-arrays-or-array-buffer.aspx

scala 数组合并

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js的navigator对象的使用(浏览器信息)

window.navigator 对象包含有关访问者浏览器的信息。 <!DOCTYPE html> <html> <body> <div id"example"></div><script>txt "<p>Browser CodeName: " navigator.appCodeName "</p>"; txt &…

http中指定使用worker/prefork

注意&#xff1a; 2.4之前版本默认为prefork&#xff0c; 2.4已经变为event模式。三种模式比较&#xff1a; http://www.cnblogs.com/fnng/archive/2012/11/20/2779977.html在编译apache的时候&#xff0c;有一个参数叫做 --with-mpm... 等号后边用于指定那种模式&#xff…

Redis为什么变慢了?一文详解Redis性能问题 | 万字长文

Redis 作为优秀的内存数据库&#xff0c;其拥有非常高的性能&#xff0c;单个实例的 OPS 能够达到 10W 左右。但也正因此如此&#xff0c;当我们在使用 Redis 时&#xff0c;如果发现操作延迟变大的情况&#xff0c;就会与我们的预期不符。你也许或多或少地&#xff0c;也遇到过…

Java PipedOutputStream flush()方法与示例

PipedOutputStream类flush()方法 (PipedOutputStream Class flush() method) flush() method is available in java.io package. flush()方法在java.io包中可用。 flush() method is used to flush this PipedOutputStream and forces bytes to be written out of any buffered…

蜕变成蝶~Linux设备驱动之字符设备驱动

一、linux系统将设备分为3类&#xff1a;字符设备、块设备、网络设备。使用驱动程序&#xff1a; 字符设备&#xff1a;是指只能一个字节一个字节读写的设备&#xff0c;不能随机读取设备内存中的某一数据&#xff0c;读取数据需要按照先后数据。字符设备是面向流的设备&#x…

Android 手机发送短信

参照网上的例子&#xff0c;做了一个手机发送短信的app。 有两种发送方法&#xff1a;第一种方法测试没有信息的发送记录&#xff0c;第二种调用的sms的Activity还要自行操作。 首先是xml布局文件代码&#xff1a; <LinearLayout xmlns:android"http://schemas.andro…

感动哭了!《Java 编程思想》最新中文版开源!

前言还记得这本书吗&#xff1f;是不是已经在你的桌上铺满厚厚的一层灰了&#xff1f;随着 Java 8 的出现&#xff0c;这门语言在许多地方发生了翻天覆地的变化。最新版已经出来了&#xff0c;在新的版本中&#xff0c;代码的运用和实现上与以往不尽相同。本书可作为编程入门书…

Java Process getOutputStream()方法与示例

流程类的getOutputStream()方法 (Process Class getOutputStream() method) getOutputStream() method is available in java.lang package. getOutputStream()方法在java.lang包中可用。 getOutputStream() method is used to get the output stream of the process and sub-p…

android中requestFocus 以及与setFocusable的区别

<requestFocus /> 标签用于指定屏幕内的焦点View。 例如我们点击tab键或enter键焦点自动进入下一个输入框 用法: 将标签置于Views标签内部 <span style"font-size:14px;"> <EditText id"id/text"android:layout_width"…

韩信大招:一致性哈希

作者 | 悟空聊架构来源 | 悟空聊架构韩信点兵的成语来源淮安民间传说。常与多多益善搭配。寓意越多越好。我们来看下主公刘邦和韩信大将军的对话。刘邦&#xff1a;“你觉得我可以带兵多少&#xff1f;”韩信&#xff1a;“最多十万。”刘邦不解的问&#xff1a;“那你呢&#…

mysql连接非常慢的觖决办法及其它常见问题解决办法

2019独角兽企业重金招聘Python工程师标准>>> 编辑/etc/mysql/my.cnf 在[mysqld]段中加入 skip-name-resolve 重启mysql 禁用DNS反响解析&#xff0c;就能大大加快MySQL连接的速度。 转载于:https://my.oschina.net/ydsakyclguozi/blog/401768

Java SimpleTimeZone toString()方法与示例

SimpleTimeZone类toString()方法 (SimpleTimeZone Class toString() method) toString() method is available in java.util package. toString()方法在java.util包中可用。 toString() method is used for string denotation of this SimpleTimeZone. toString()方法用于此Sim…

最常见的10种Java异常问题!

封面&#xff1a;洛小汐译者&#xff1a;潘潘前言本文总结了有关Java异常的十大常见问题。目录检查型异常&#xff08;checked&#xff09; vs. 非检查型异常&#xff08;Unchecked&#xff09;异常管理的最佳实践箴言为什么在try代码块中声明的变量不能在catch或者finally中被…

OSSIM学习-英汉对照注释

Ossim的Web UI目前没有很好的本地化解决方案&#xff0c;这给不少初学Ossim的用户尤其是英文不太好的人来说&#xff0c;带来了一些麻烦&#xff0c;下面是部分英汉对照注释&#xff0c;并在不断完善中&#xff0c;希望对大家学习过程中&#xff0c;有所帮助。Action 动作Actio…

Cookie的设置获取和删除

关于Cookie操作的实验&#xff0c;包括设置&#xff0c;获取和删除。 设置Cookie name[必选]value[必选]expiredays[必选]setCookie getCookie 操作Cookie GETDEL 以下是源代码&#xff1a; <html><head><meta charset"utf-8" /><script type&q…

observable_Java Observable clearChanged()方法与示例

observable可观察的类clearChanged()方法 (Observable Class clearChanged() method) clearChanged() method is available in java.util package. clearChanged()方法在java.util包中可用。 clearChanged() method represents that this object has no longer changed or in o…

Linux中Samba详细安装

为了实现Windows主机与Linux服务器之间的资源共享&#xff0c;Linux操作系统提供了Samba服务&#xff0c;Samba服务为两种不同的操作系统架起了一座桥梁&#xff0c;使Linux系统和Windows系统之间能够实现互相通信&#xff0c;为广泛的Linux爱好者提供了极大方便。本文简要介绍…

Java ObjectInputStream close()方法与示例

ObjectInputStream类close()方法 (ObjectInputStream Class close() method) close() method is available in java.io package. close()方法在java.io包中可用。 close() method is used to close this ObjectInputStream and free any system resources linked with this str…

Java获取文件类型的5种方法

前言工作中经常会用到&#xff0c;判断一个文件的文件类型&#xff0c;这里总结一把&#xff0c;一般判断文件类型的原理有2种方式&#xff1a;根据文件扩展名判断优点&#xff1a;速度快&#xff0c;代码简单缺点&#xff1a;无法判断出真实的文件类型&#xff0c;例如一些伪造…

OpenCart 之 CSV 格式商品导入 – 如何导入商品主图片和附加图片?

1. 在文件中定义多个附加图片可以为一个商品导入多个图片。这些图片需要以“附加图片分隔符”来分割&#xff0c;而附加图片分隔符的定义在扩充功能配置页面。下面是一个带有URL链接的多个图片的填写格式&#xff1a;…,”http://www.example.com/p_w_picpath1.png:::http://ww…