Latest web development tutorials

tablica Scala

Array język Scala pod warunkiem, służy do przechowywania stałych elementów wielkości tego samego typu, po jednej dla każdej bramy Redakcja array języka, są ważnymi struktury danych.

Deklaracja zmiennej tablicy nie jest zadeklarowana number0, liczba1, ..., number99 oddzielna zmienna, ale podoba mi się to deklaracja zmiennych ilościach, a następnie za pomocą numerów [0], cyfry [1], ..., [numery 99] do osobnego zmienną. Element tablicy określonej przez indeks jest dostępne.

Pierwszym elementem indeksu tablicy 0, indeks ostatniego elementu jest liczba elementów minus jeden.


Zadeklarować tablicę

Poniżej znajduje się składnia Scala deklaracja tablicy:

var z:Array[String] = new Array[String](3)

或

var z = new Array[String](3)

Powyższa składnia, z zadeklarować typ ciąg tablicy, długość tablicy jest 3, można przechowywać trzy elementy. Możemy ustawić wartość dla każdego elementu, a dostęp do każdego elementu o indeksie, co następuje:

z(0) = "w3big"; z(1) = "Baidu"; z(4/2) = "Google"

Indeks ostatniego elementu w wyrażeniu używając4/2 jako indeks, podobnie jak z (2) = "Google".

Można również określić tablicę, stosując następujące metody:

var z = Array("w3big", "Baidu", "Google")

Poniższy rysunek przedstawia tablicę o długości myList 10, wartość indeksu 0-9:


Praca z tablicami

Rodzaj i wielkość elementu tablicy tablicy jest określona, ​​więc podczas przetwarzania elementów tablicy, często używamy podstawowym pętli for.

Poniższy przykład ilustruje tworzenie tablicy, proces inicjalizacji:

object Test {
   def main(args: Array[String]) {
      var myList = Array(1.9, 2.9, 3.4, 3.5)
      
      // 输出所有数组元素
      for ( x <- myList ) {
         println( x )
      }

      // 计算数组所有元素的总会
      var total = 0.0;
      for ( i <- 0 to (myList.length - 1)) {
         total += myList(i);
      }
      println("总和为 " + total);

      // 查找数组中的最大元素
      var max = myList(0);
      for ( i <- 1 to (myList.length - 1) ) {
         if (myList(i) > max) max = myList(i);
      }
      println("最大值为 " + max);
    
   }
}

Realizacja powyższego kodu, wyjście jest:

$ scalac Test.scala
$ scala Test
1.9
2.9
3.4
3.5
总和为 11.7
最大值为 3.5

Tablice wielowymiarowe

Wartości wielowymiarowej tablicy w tablicy może być inna tablica, tablica inna wartość może być tablicą. Matrix, a nasza wspólna forma jest dwuwymiarową tablicą.

Powyższy przykład o określonej dwuwymiarowej tablicy:

var myMatrix = ofDim[Int](3,3)

Przykłady macierzy zawiera trzy elementy tablicy, każdy element tablicy z kolei składa się z trzech wartości.

Następnie przyjrzymy się kompletnym przykładzie dwuwymiarowej tablicy przetwarzania:

import Array._

object Test {
   def main(args: Array[String]) {
      var myMatrix = ofDim[Int](3,3)
      
      // 创建矩阵
      for (i <- 0 to 2) {
         for ( j <- 0 to 2) {
            myMatrix(i)(j) = j;
         }
      }
      
      // 打印二维阵列
      for (i <- 0 to 2) {
         for ( j <- 0 to 2) {
            print(" " + myMatrix(i)(j));
         }
         println();
      }
    
   }
}

Uruchomienie instancji »

Realizacja powyższego kodu, wyjście jest:

$ scalac Test.scala
$ scala Test
0 1 2
0 1 2
0 1 2

Scalanie tablicy

Poniższe przykłady, używamy concat () aby połączyć dwie tablice, concat () Metoda ta przyjmuje wiele parametrów tablicy:

import Array._

object Test {
   def main(args: Array[String]) {
      var myList1 = Array(1.9, 2.9, 3.4, 3.5)
      var myList2 = Array(8.9, 7.9, 0.4, 1.5)

      var myList3 =  concat( myList1, myList2)
      
      // 输出所有数组元素
      for ( x <- myList3 ) {
         println( x )
      }
   }
}

Realizacja powyższego kodu, wyjście jest:

$ scalac Test.scala
$ scala Test
1.9
2.9
3.4
3.5
8.9
7.9
0.4
1.5

Załóż interwał tablicową

Poniższe przykłady używamy sposób zakresu () w celu uzyskania tablicy w szerokim zakresie. Zakres () metoda ostatni parametr w krokach co 1 domyślnie:

import Array._

object Test {
   def main(args: Array[String]) {
      var myList1 = range(10, 20, 2)
      var myList2 = range(10,20)

      // 输出所有数组元素
      for ( x <- myList1 ) {
         print( " " + x )
      }
      println()
      for ( x <- myList2 ) {
         print( " " + x )
      }
   }
}

Realizacja powyższego kodu, wyjście jest:

$ scalac Test.scala
$ scala Test
10 12 14 16 18
10 11 12 13 14 15 16 17 18 19

Metoda tablicy Scala

Poniższa tabela jest ważnym sposobem przetwarzania języka Scala tablicy przed użyciem musimy użyćimport Array._ wprowadzony pakiet.

Nie. Sposób i opis
1

def apply (x: t, xs : T *): Array [T]

Stwórz tablicę określonego obiektu, T, wartość T może być jednostka, Podwójne, Pływak, Długi, Int, Char, Krótka, Byte, Boolean.

2

def Concat [T] (XSS: Array [T] *): Array [T]

Scalanie tablicy

3

def skopiować (SRC: AnyRef, srcPos : int, dest: AnyRef, destPos: int, długość: int): Unit

Kopie tablicę do innego tablicy. Odpowiednik Java System.arraycopy (src, srcPos, dest, destPos, długość).

4

def pusta [T]: Array [ T]

Zwraca tablicę o długości 0.

5

def iteracji [T] (start: T, len: int) (f: (T) => T): Array [T]

Zwraca długość tablicy, każdy element tablicy jest wartością zwracaną określonej funkcji.

Przykłady wyżej tablicy początkowej wartości 0 i o długości od 3 do obliczenia FunkcjaA => a + 1:

scala> Array.iterate(0,3)(a=>a+1)
res1: Array[Int] = Array(0, 1, 2)
6

def wypełnić [T] (n: int) (elem: => T): Array [T]

Zwraca tablicę, pierwszy parametr jest określony, a każdy element drugiego argumentu wypełnienia długość.

7

def wypełnić [T] (N1: Int, N2: Int) (elem: => T): Array [Array [T]]

Zwraca dwie tablice, pierwszy parametr jest określony, a każdy element drugiego argumentu wypełnić długość.

8

def ofDim [T] (n1: int): Array [T]

Stwórz tablicę o określonej długości

9

def ofDim [T] (N1: Int, N2: Int): Array [Array [T]]

Tworzenie dwuwymiarową tablicę

10

def ofDim [T] (N1: Int, N2: Int, N3: Int): Array [Tablica [Tablica [T]]]

Stworzyć trójwymiarową tablicę

11

Zakres def (start: int end : int, krok: Int): Array [Int]

Stwórz tablicę w określonym zakresie, przyrosty stopnia między każdym elementem

12

Zakres def (start: int end : Int): Array [Int]

Stwórz tablicę w określonym przedziale

13

def tabulate [T] (n: int) (f: (Int) => T): Array [T]

Zwraca długość tablicy, każdy element tablicy jest wartością zwracaną określonej funkcji, od zera domyślnie.

Powyższe przykłady powrócić trzy elementy:

scala> Array.tabulate(3)(a => a + 5)
res0: Array[Int] = Array(5, 6, 7)
14

def tabulate [T] (N1: Int, N2: int) (f: (Int, Int) => T): Array [Array [T]]

Zwraca dwuwymiarową tablicę o określonej długości, każdy element tablicy jest wartością zwracaną określonej funkcji, od zera domyślnie.