How does I create a List in Scala?

Source: Internet
Author: User

Scala List class Faq:how do I create a list in Scala?

You can create a Scala List in several different ways, including these approaches:

    • Lisp style
    • Java style
    • Using the List class range method
    • Using the List class fill method
    • Using the List class tabulate method

In this Scala List tutorial, I'll demonstrate each of these approaches. I'll execute each command in the Scala command-line interpreter so you can see the results of each approach.

1) Create a Scala List in the Lisp style

First, if you prefer the lisp-style of programming, you can create a Scala List using the ' cons ' syntax, like this:

val list = 1:: 2:: 3:: NilList:list[int] = List (1, 2, 3)

As can see, this creates a that List contains the Ints 1, 2, and 3. With this approach, you need to the end of the list with the Nil object.

In this "cons" style, the :: method takes-arguments, a "head", which is a single element, and a "tail", which is a List. (And yes, is :: a function/method.)

2) Create a Scala List in the Java style

My guess is, the most popular-a-to-create a is with List the "Java style":

val list = list (x:list[int)= List (1, 2, 3)

This syntax looks a IoT like the Java-like-to-create an object, except (a) You don ' t need the "new" keyword before the , and (b) You don ' t has to declare the type of elements in the List .

Note If you're going to mix types List in a constructor and you may need to manually specify the type of the List . This example demonstrates the syntax to specify the List type:

val x = List[number] (1, 2.0, 33d, 0x1)x:list[java.lang.number] = List (1, 2.0, 33.0, 1)

In this example I ' ve explicitly stated, the values in the is of the List Number type.

3) Create a Scala List with the Range method

Another convenient-to-create a is with the List range Method:

val x = List.range (1, ten)x:list[int] = List (1, 2, 3, 4, 5, 6, 7, 8, 9)

As can see, this example creates a of List Int values, beginning at 1, and ending at 9.

The range function can also take a third argument, which serves as a "step" value whe (addition to this approach) N Creating the List :

val x = List.range (0, 2)x:list[int] = List (0, 2, 4, 6, 8)
4) Create a Scala list with the list class Fill method

Another convenient-to-create a Scala is with the List fill method:

val x = List.fill (3) ("foo")x:list[java.lang.string] = List (foo, foo, foo)

As you can see, you just specify how many items you want, and the object value of you want to fill each List element with.

5) Create a Scala list with the list class Tabulate method

Finally, you can create a Scala List with the tabulate method of the List class.

The Tabulate method creates a new List whose elements is created according to the function of you supply. The book Programming in Scalashows how to create a List using a simple "squares" function with the tabulate method:

val x = list.tabulate (5) (n = n * n)x:list[int] = List (0, 1, 4, 9, 16)

As can see, that example creates a List of five elements, where the element values is the square of the index of the EAC h element, so 0 becomes 0, 1 becomes 1, 2 becomes 4, 3 becomes 9, and 4 becomes 16.

6) Creating Scala lists-summary

In summary, as you are seen, you can create Scala lists in several different ways, including these approaches:

    • Lisp style
    • Java style
    • Using the List class range method
    • Using the List class fill method
    • Using the List class tabulate method

I Hope this Scala List class tutorial have been helpful.

How does I create a List in Scala?

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.