如何从Scala中的列表中删除元素?
该列表是不可变的数据结构,因此删除元素很容易实现。一种方法是使用诸如filter,partition,splitAt,take等过滤方法过滤掉元素。
程序:
object MyClass {def main(args: Array[String]) {
var progLang = List("C++", "Java", "Scala", "Python")
println("编程语言: " + progLang)
var newLang = progLang.filter(_<"P")
println("编程语言: " + newLang)
}
}
输出结果
编程语言: List(C++, Java, Scala, Python)编程语言: List(C++, Java)
修改列表的其他方法是使用ListBuffer,它是可变的,使删除过程变得容易。
我们可以使用以下方法从ListBuffer中删除一个元素:
使用-=运算符
使用
remove()
方法使用-=运算符(删除另一个集合的元素)
1)使用-=运算符
-=可以从ListBuffer中删除单个或多个元素。
语法:
ListBuffer -= element(s)
程序:
import scala.collection.mutable.ListBufferobject MyClass {
def main(args: Array[String]) {
var progLang = ListBuffer("C", "C++", "Java", "Scala", "Python", "JavaScript")
println("编程语言: " + progLang)
println("Deleting single element")
progLang -= "Java"
println("编程语言: " + progLang)
println("Deleting multiple elements")
progLang -= ("C", "Python")
println("编程语言: " + progLang)
}
}
输出结果
编程语言: ListBuffer(C, C++, Java, Scala, Python, JavaScript)Deleting single element
编程语言: ListBuffer(C, C++, Scala, Python, JavaScript)
Deleting multiple elements
编程语言: ListBuffer(C++, Scala, JavaScript)
2)使用remove()
方法
该remove()
方法与-=相同,可以删除单个或多个元素。
语法:
ListBuffer.remove(element)
程序:
import scala.collection.mutable.ListBufferobject MyClass {
def main(args: Array[String]) {
var progLang = ListBuffer("C", "C++", "Java", "Scala", "Python", "JavaScript")
println("编程语言: " + progLang)
println("Deleting single element")
progLang.remove(0)
println("编程语言: " + progLang)
println("Deleting multiple elements")
progLang.remove(3, 2)
println("编程语言: " + progLang)
}
}
输出结果
编程语言: ListBuffer(C, C++, Java, Scala, Python, JavaScript)Deleting single element
编程语言: ListBuffer(C++, Java, Scala, Python, JavaScript)
Deleting multiple elements
编程语言: ListBuffer(C++, Java, Scala)
该remove()
方法适用于ListBuffer的索引,并且在删除多个元素时,我们需要启动要删除的索引和数字作为该方法的参数。
3)使用-=运算符
-=删除使用另一个集合指定的元素。
语法:
ListBuffer --= collection
程序:
import scala.collection.mutable.ListBufferobject MyClass {
def main(args: Array[String]) {
var progLang = ListBuffer("C", "C++", "Java", "Scala", "Python", "JavaScript")
println("编程语言: " + progLang)
println("Deleting elements")
progLang --= Array("C", "Python")
println("编程语言 " + progLang)
}
}
输出结果
编程语言: ListBuffer(C, C++, Java, Scala, Python, JavaScript)Deleting elements
编程语言 ListBuffer(C++, Java, Scala, JavaScript)
以上是 如何从Scala中的列表中删除元素? 的全部内容, 来源链接: utcz.com/z/359229.html