Latest web development tutorials

scala Array

Array bahasa Scala tersedia digunakan untuk menyimpan elemen ukuran tetap dari jenis yang sama, satu untuk setiap gerbang bahasa Editor array, adalah struktur data penting.

Deklarasi variabel array tidak dideklarasikan number0, number1, ..., number99 variabel yang terpisah, namun deklarasi seperti nomor variabel ini, maka gunakan angka [0], nomor [1], ..., nomor [ 99] untuk mewakili variabel yang terpisah. Elemen array ditentukan oleh indeks diakses.

Elemen pertama dari indeks array 0, indeks elemen terakhir adalah jumlah elemen minus satu.


Mendeklarasikan array

Berikut ini adalah sintaks Scala deklarasi array:

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

或

var z = new Array[String](3)

Sintaks di atas, z menyatakan tipe string array, panjang array adalah 3, dapat menyimpan tiga unsur. Kita dapat menetapkan nilai untuk setiap elemen, dan mengakses setiap elemen dengan indeks, sebagai berikut:

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

Indeks elemen terakhir dalam ekspresi menggunakan4/2 sebagai indeks, mirip dengan z (2) = "Google".

Kita juga dapat mendefinisikan sebuah array menggunakan metode berikut:

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

Gambar berikut menunjukkan array panjang myList 10, nilai indeks 0-9:


Bekerja dengan array

Jenis dan ukuran elemen array dari array ditentukan, sehingga saat memproses elemen array, kita sering menggunakan dasar untuk loop.

Contoh berikut menunjukkan penciptaan array, proses inisialisasi:

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);
    
   }
}

Pelaksanaan kode di atas, output adalah:

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

Array multidimensi

Sebuah nilai array multidimensi dalam array dapat array lain, nilai array lain juga dapat menjadi sebuah array. Matrix dan bentuk umum kami adalah array dua dimensi.

Di atas adalah contoh dari array dua dimensi didefinisikan:

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

Contoh array berisi tiga elemen array, setiap elemen array pada gilirannya berisi tiga nilai.

Selanjutnya, kita melihat contoh lengkap dari array dua dimensi pengolahan:

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();
      }
    
   }
}

Menjalankan contoh »

Pelaksanaan kode di atas, output adalah:

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

menggabungkan berbagai

Contoh-contoh berikut, kita menggunakan concat () metode untuk menggabungkan dua array, concat () metode menerima beberapa parameter array yang:

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 )
      }
   }
}

Pelaksanaan kode di atas, output adalah:

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

Buat selang array yang

Contoh-contoh berikut, kita menggunakan metode kisaran () untuk menghasilkan array dalam berbagai. Kisaran () metode parameter terakhir dalam langkah 1 secara default:

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 )
      }
   }
}

Pelaksanaan kode di atas, output adalah:

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

Metode array yang scala

Tabel berikut merupakan metode penting untuk pengolahan bahasa Scala array, sebelum menggunakannya kita perlu menggunakanimpor Array._ diperkenalkan paket.

Tidak. Metode dan Deskripsi
1

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

Buat sebuah array dari objek T ditentukan, nilai T mungkin Satuan, Double, Lampung, panjang, Int, Char, pendek, Byte, Boolean.

2

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

menggabungkan berbagai

3

def menyalin (src: AnyRef, srcPos : Int, dest: AnyRef, destPos: Int, panjang: Int): Satuan

Salinan array ke array yang lain. Setara dengan Jawa System.arraycopy (src, srcPos, dest, destPos, panjang).

4

def kosong [T]: Array [ T]

Mengembalikan array panjang 0 adalah

5

def iterate [T] (mulai: T, len: Int) (f: (T) => T): Array [T]

Mengembalikan panjang array, setiap elemen array adalah nilai kembali dari fungsi yang ditentukan.

Contoh nilai array di atas awal 0 dan panjang 3 untuk menghitungfungsi => a + 1:

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

def mengisi [T] (n: Int) (elem: => T): Array [T]

Mengembalikan array, parameter pertama ditentukan, dan setiap elemen dari argumen kedua untuk mengisi panjang.

7

def mengisi [T] (n1: Int, n2: Int) (elem: => T): Array [Array [T]]

Mengembalikan dua array, parameter pertama ditentukan, dan setiap elemen dari argumen kedua untuk mengisi panjang.

8

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

Buat array panjang tertentu

9

def ofDim [T] (n1: Int, n2: Int): Array [Array [T]]

Membuat array dua dimensi

10

def ofDim [T] (n1: Int, n2: Int, n3: Int): Array [Array [Array [T]]]

Membuat array tiga dimensi

11

Kisaran def (mulai: Int, akhir : Int, langkah: Int): Array [Int]

Buat sebuah array dalam kisaran tertentu, kenaikan langkah antara setiap elemen

12

Kisaran def (mulai: Int, akhir : Int): Array [Int]

Buat sebuah array dalam kisaran tertentu

13

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

Mengembalikan panjang array, setiap elemen array adalah nilai kembali dari fungsi tertentu, dari nol secara default.

Contoh di atas kembali tiga unsur:

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

def tabulasi [T] (n1: Int, n2: Int) (f: (Int, Int) => T): Array [Array [T]]

Mengembalikan sebuah array dua dimensi dari panjang yang ditentukan, setiap elemen array adalah nilai kembali dari fungsi tertentu, dari nol secara default.