How to add elements to a List in Scala
2016-07-05 22:12
519 查看
Scala List FAQ: How do I add elements to a Scala List?
This is actually a trick question, because you can't add elements to a ScalaList; it's an immutable data structure, like a Java
Those examples show how to create a series of lists. The initial list named
While that approach looks cumbersome in a small example, it makes sense in larger, real-world code. You can see more/better examples of this approach in my tutorial titled, Scala List class examples.
This is actually a trick question, because you can't add elements to a ScalaList; it's an immutable data structure, like a Java
String.
Prepending elements to Scala Lists
One thing you can do when working with a ScalaListis to create a new
Listfrom an existing
List. This sort of thing is done often in functional programming, and the general approach looks like this:
scala> val p1 = List("Kim") p1: List[String] = List(Kim) scala> val p2 = "Julia" :: p1 p2: List[String] = List(Julia, Kim) scala> val p3 = "Judi" :: p2 p3: List[String] = List(Judi, Julia, Kim)
Those examples show how to create a series of lists. The initial list named
p1contains one string, then
p2contains two strings, and finally
p3contains three strings.
While that approach looks cumbersome in a small example, it makes sense in larger, real-world code. You can see more/better examples of this approach in my tutorial titled, Scala List class examples.
Use a ListBuffer when you want a "List" you can modify
If you want to use a Scala sequence that has many characteristics of aListand is also mutable (you can add and remove elements in it), use theListBuffer class instead, like this:
() fruits += "Apple" fruits += "Banana" fruits += "Orange" Then convert it to a ]val fruitsList = fruits.toList
Scala REPL example
Here's what thisListand
ListBufferexample looks like using the Scala command line (REPL):
scala> import scala.collection.mutable.ListBuffer import scala.collection.mutable.ListBuffer scala> var fruits = new ListBuffer[String]() fruits: scala.collection.mutable.ListBuffer[String] = ListBuffer() scala> fruits += "Apple" res0: scala.collection.mutable.ListBuffer[String] = ListBuffer(Apple) scala> fruits += "Banana" res1: scala.collection.mutable.ListBuffer[String] = ListBuffer(Apple, Banana) scala> fruits += "Orange" res2: scala.collection.mutable.ListBuffer[String] = ListBuffer(Apple, Banana, Orange) scala> val fruitsList = fruits.toList fruitsList: List[String] = List(Apple, Banana, Orange)
More functional ways to work with Scala lists
Depending on your needs, there are other, "more functional" ways to work with Scala lists, and I work through some of those in my Scala List examples. But for my needs today, I just wanted to work with a ScalaListlike I'd work with a Java List (
ArrayList,
LinkedList), and this approach suits me.
相关文章推荐
- leetcode 87 Scramble String(递归+剪枝)
- 《安卓》一个按钮实现全选和全不选
- jQuery 获取对象的方法介绍
- 断点和单步执行
- [51nod1479]小Y的数论题
- 养成良好SQL书写习惯
- 字符串小写转换
- 插入代码,为什么没有行号?????
- How do I iterate over a Scala List (or more generally, a sequence) using theforeach method or for loop?
- 查看运行的KVM的虚机
- matplotlib基本绘图参数
- windows编程之线程池
- How to merge Scala Lists
- Redkale RESTful 插件介绍
- Android 工具包 xUtils
- 进驻 CSDN
- linux的rwx
- VSCODE git
- 旋转数组
- USACO 2015 US OPEN CONTEST,Gold Division Solution