如何从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中删除一个元素:

  1. 使用-=运算符

  2. 使用remove()方法

  3. 使用-=运算符(删除另一个集合的元素)

1)使用-=运算符

-=可以从ListBuffer中删除单个或多个元素。

语法:

    ListBuffer -= element(s)

程序:

import scala.collection.mutable.ListBuffer

object 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.ListBuffer

object 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.ListBuffer

object 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

回到顶部