Scala Iterator (iterator)
Scala Iterator (iterator) tidak koleksi, itu adalah metode untuk akses ke koleksi.
Dua operasi dasar iterator itu adalahsebelah dan hasNext.
Sebutit.next () mengembalikan sebuah iterator ke elemen berikutnya, dan memperbarui negara iterator.
Sebutit.hasNext () digunakan untuk mendeteksi apakah ada unsur-unsur dalam koleksi.
iterator mengembalikan semua elemen satu per satu cara termudah adalah dengan menggunakan loop sementara:
object Test { def main(args: Array[String]) { val it = Iterator("Baidu", "Google", "w3big", "Taobao") while (it.hasNext){ println(it.next()) } } }
Pelaksanaan kode di atas, output adalah:
$ scalac Test.scala $ scala Test Baidu Google w3big Taobao
Menemukan maksimum dan minimum elemen
Anda dapat menggunakanit.min dan metode it.maxuntuk menemukan maksimum dan minimum elemen dari iterator, contoh adalah sebagai berikut:
object Test { def main(args: Array[String]) { val ita = Iterator(20,40,2,50,69, 90) val itb = Iterator(20,40,2,50,69, 90) println("最大元素是:" + ita.max ) println("最小元素是:" + itb.min ) } }
Pelaksanaan kode di atas, output adalah:
$ scalac Test.scala $ scala Test 最大元素是:90 最小元素是:2
Dapatkan panjang iterator
Anda dapat menggunakanit.size atau cara it.lengthuntuk melihat jumlah elemen dalam iterator. Contohnya adalah sebagai berikut:
object Test { def main(args: Array[String]) { val ita = Iterator(20,40,2,50,69, 90) val itb = Iterator(20,40,2,50,69, 90) println("ita.size 的值: " + ita.size ) println("itb.length 的值: " + itb.length ) } }
Pelaksanaan kode di atas, output adalah:
$ scalac Test.scala $ scala Test ita.size 的值: 6 itb.length 的值: 6
metode umum scala Iterator
Tabel berikut berisi metode umum Scala Iterator:
Tidak. | Metode dan Deskripsi |
---|---|
1 | def hasNext: Boolean Jika ada unsur-unsur yang dapat dikembalikan, kembali benar. |
2 | def berikutnya (): A Mengembalikan elemen berikutnya di iterator, dan memperbarui keadaan iterator |
3 | def ++ (yang: => Iterator [A]): Iterator [A] Penggabungan dua iterator |
4 | def ++ [B>: A] (yang: => GenTraversableOnce [B]): Iterator [B] Penggabungan dua iterator |
5 | def addString (b: StringBuilder): StringBuilder Menambahkan string ke StringBuilder b |
6 | def addString (b: StringBuilder, September : String): StringBuilder Menambahkan string ke StringBuilder b, dan menentukan pembatas |
7 | def buffered: BufferedIterator [A] Iterators dikonversi menjadi BufferedIterator |
8 | def mengandung (elem: Apa): Boolean Detektor iterator mengandung unsur tertentu |
9 | def copyToArray (xs: Array [A ], mulai: Int, len: Int): Satuan Iterator nilai yang dipilih dilewatkan ke array |
10 | def count (p: (A) => Boolean): Int Mengembalikan jumlah elemen dalam elemen iterator memenuhi kondisi p. |
11 | def turun (n: Int): Iterator [A] Koleksi baru sebelum kembali membuang n elemen |
12 | def dropWhile (p: (A) => Boolean): Iterator [A] elemen Buang kiri ke kanan, sampai kondisi tidak puas p |
13 | def duplikat: (Iterator [A] , Iterator [A]) Dua mampu menghasilkan keuntungan iterator iterator dari semua elemen. |
14 | def ada (p: (A) => Boolean): Boolean Ini mengembalikan nilai Boolean yang menunjukkan apakah ada unsur iterator memenuhi unsur p. |
15 | def menyaring (p: (A) => Boolean): Iterator [A] Kembali elemen iterator iterator baru di semua elemen untuk memenuhi kondisi dari p. |
16 | def filterNot (p: (A) => Boolean): Iterator [A] Mengembalikan elemen iterator iterator tidak memenuhi unsur-unsur kondisi p. |
17 | def menemukan (p: (A) => Boolean): Option [A] Mengembalikan elemen pertama memuaskan p atau Tidak ada. Catatan: Jika kondisi elemen ditemukan, iterator akan ditempatkan setelah elemen, jika tidak ditemukan, maka akan ditempatkan pada akhirnya. |
18 | def flatMap [B] (f: (A) => GenTraversableOnce [B]): Iterator [B] Untuk iterator diterapkan untuk setiap elemen dalam fungsi urutan f, dan mengembalikan pointer ke hasil urutan iterator. |
19 | def forall (p: (A) => Boolean): Boolean Ini mengembalikan nilai Boolean yang menunjukkan apakah itu merujuk pada elemen memuaskan p. |
20 | def foreach (f: (A) => Unit): Satuan Lakukan ditentukan pada setiap elemen dikembalikan oleh program iterator f |
21 | def hasDefiniteSize: Boolean Jika jumlah iterator elemen hingga mengembalikan true (default adalah setara dengan isEmpty) |
22 | def indexOf (elem: B): Int Mengembalikan iterator dari unsur-unsur dalam indeks sama dengan elemen pertama dari x. Catatan: iterator akan melintasi elemen ini. |
23 | def indexWhere (p: (A) => Boolean): Int Mengembalikan iterator dari unsur-unsur dalam indeks untuk memenuhi unsur-unsur kondisi p. Catatan: iterator akan melintasi elemen ini. |
24 | def isEmpty: Boolean Memeriksa apakah itu kosong, kembali kosong benar, jika tidak maka kembali palsu (kebalikan dari hasNext). |
25 | def isTraversableAgain: Boolean Tes apakah Iterator ini dapat berulang kali dilalui. |
26 | Panjang def: Int Mengembalikan jumlah elemen dalam iterator. |
27 | def map [B] (f: (A) => B): Iterator [B] Hasil setelah disahkan menjadi fungsi f dari setiap elemen untuk menghasilkan iterator baru. |
28 | def max: A Mengembalikan iterator elemen iterator elemen terbesar. |
29 | def min: A Mengembalikan unsur iterator iterator dalam elemen terkecil. |
30 | def mkString: String Semua elemen untuk mengkonversi iterator untuk string. |
31 | def mkString (September: String): String Semua elemen untuk mengkonversi iterator untuk string, dan menentukan pembatas. |
32 | def tidak kosong: Boolean Periksa apakah kontainer berisi elemen (setara dengan hasNext). |
33 | def padTo (len: Int, elem : A): Iterator [A] Pertama dari semua elemen mengembalikan sebuah iterator, salinan tambahan dari elem sampai panjang mencapai len. |
34 | def Patch (dari: Int, patchElems : Iterator [B], diganti: Int): Iterator [B] Mengembalikan iterator baru, yang menggantikan elemen dari elemen pertama dari awal untuk digantikan oleh unsur-unsur dalam arti iterator. |
35 | produk def: A Mengembalikan produk dalam arti iterator elemen numerik. |
36 | sameElements def (bahwa: Iterator [_ ]): Boolean Menganalisis iterator dan parameter iterator ditentukan pada gilirannya mengembalikan unsur yang sama |
37 | def seq: Iterator [A] Tampilan belakang seri koleksi |
38 | Ukuran def: Int Mengembalikan jumlah elemen dalam sebuah iterator |
39 | def slice (dari: Int, sampai : Int): Iterator [A] Mengembalikan iterator baru, iterator menunjuk ke urutan fragmen dari awal ke elemen pertama dari mengakhiri pertama sampai elemen. |
40 | def sum: A Mengembalikan sebuah iterator merujuk pada elemen numerik dan |
41 | def mengambil (n: Int): Iterator [A] Mengembalikan iterator baru pertama n elemen. |
42 | def toArray: Array [A] Semua elemen iterator menunjuk ke array dan kembali. |
43 | def toBuffer: Buffer [B] Semua elemen iterator menunjuk ke salinan penyangga Buffer. |
44 | def toIterable: Iterable [A] Mengembalikan Iterable berisi semua elemen dari traversable ini atau iterator. Ini tidak akan menghentikan untuk iterator tak terbatas. |
45 | def toIterator: Iterator [A] Semua elemen Iterator iterator ke dalam wadah dan kembali. |
46 | def ToList: Daftar [A] Semua elemen dari iterator ke dalam daftar dan kembali |
47 | def toMap [T, U]: Peta [T, U] Semua iterator kunci ke dalam Peta dan kembali. |
48 | def toSeq: Seq [A] Semua elemen seluruh kontainer menjadi Seq dan kembali. |
49 | def toString (): String Iterator dikonversi ke string |
50 | def zip [B] (yang: Iterator [B]): Iterator [(A, B) Mengembalikan iterator menunjuk tuple urutan baru masing-masing sesuai dengan iterator tertentu dan iterator elemen yang dari |
Lebih banyak cara untuk merujuk pada dokumentasi API