Get the App
SLTechnology News&Howtos  ›  Servers  › 

Learn a little take, takeRight, takeWhile and filter of Scala every day

Shulou Source: shulou.com Published: 2022-06-02 17:36:12 09月30日 Update

It's simple. Let's go straight to the example.

object takeWhileTest { def main(args: Array[String]): Unit = { val names = List("spark", "hadoop","kafka","hive", "mesos", "zero", "xyz","marathon") //Requirement: Get/filter out elements with element length 4 from the names container. //takeWhile, start with the first element, meet the condition, stay, until the first element does not meet the condition, end the loop //see, takeWhile may not operate on all elements names.takeWhile(_.length > 4 ).foreach{x => print(x + " ")} println("\n------------------") //Get 2 elements starting from the left, names.take(2).foreach{x => print(x + " ")} println("\n------------------") //Get 4 elements starting from the right, names.takeRight(4).foreach{x => print(x + " ")} println("\n------------------") //filter, also, meet the conditions, stay. It operates on all elements. names.filter(_.length > 4).foreach{x => print(x + " ")}//filter out "xyz" elements }}

Results:

spark hadoop kafka ------------------spark hadoop ------------------mesos zero xyz marathon ------------------spark hadoop kafka mesos marathon

Similarly, marathon source code, also reflected, as follows:

Summary:

take(3)---> indicates that the first three elements are taken

takeRight(3)---> means, start from the back/right, take out 3 elements

takeWhile()---> indicates that, starting from the left, the elements that meet the condition are taken out until the first element that does not meet the condition is encountered.

filter --> indicates that all elements satisfying the condition are taken out

Tags: Element condition right example container source result length requirement loop Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno macOS Redmi Shulou Technology OPPO Reno NVidia