Najlepszy samouczek Scala Iterator (iteratory) W 2024 r. W tym samouczku możesz dowiedzieć się Znajdź maksymalne i minimalne elementy,Uzyskaj długość iterator,Scala Iterator powszechna metoda,
Scala Iterator (iteratory) nie jest zbiorem, jest to metoda dostępu do kolekcji.
Dwa podstawowe operacje iterator jestnastępny i hasNext.
Zadzwońit.next () zwraca iterator do następnego elementu i zaktualizować stan iterator.
Nazwaćit.hasNext () stosuje się do wykrywania tego, czy istnieją elementy w zbiorze.
Iterator zwraca wszystkie elementy jeden po drugim najprostszym sposobem jest użycie pętli while:
object Test { def main(args: Array[String]) { val it = Iterator("Baidu", "Google", "w3big", "Taobao") while (it.hasNext){ println(it.next()) } } }
Realizacja powyższego kodu, wyjście jest:
$ scalac Test.scala $ scala Test Baidu Google w3big Taobao
Można użyćit.min i sposobu it.maxznaleźć maksymalne i minimalne elementy z iteracyjnej, przykłady przedstawiają się następująco:
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 ) } }
Realizacja powyższego kodu, wyjście jest:
$ scalac Test.scala $ scala Test 最大元素是:90 最小元素是:2
Można użyćit.size lub it.lengthsposób, aby wyświetlić liczbę elementów w iteracyjnej. Przykłady są następujące:
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 ) } }
Realizacja powyższego kodu, wyjście jest:
$ scalac Test.scala $ scala Test ita.size 的值: 6 itb.length 的值: 6
Poniższa tabela zawiera listę typowych metod Scala iterator:
Nie. | Sposób i opis |
---|---|
1 | def hasNext: Boolean Jeśli istnieją elementy, które mogą zostać zwrócone, return true. |
2 | def next (): a Zwraca następny element w iteracyjnej i aktualizuje stan iterator |
3 | def ++ (czyli: => Iterator [A]): Iterator [A] Scalanie dwóch iteratory |
4 | def ++ [B>: A] (czyli: => GenTraversableOnce [B]): Iterator [B] Scalanie dwóch iteratory |
5 | def addstring (b: StringBuilder): StringBuilder Dodaj ciąg do StringBuilder b |
6 | addstring def (b: StringBuilder, wrzesień : String): StringBuilder Dodaj ciąg do StringBuilder b, i określić separatory |
7 | def buforowane: BufferedIterator [A] Iteratory są przekształcane BufferedIterator |
8 | def zawiera (elem: dowolny): Boolean Detektor iterator zawiera określony element |
9 | def copyToArray (xs: Array [A ], start: Int, len: int): Unit Iterator wybrana wartość jest przekazywana do tablicy |
10 | def count (P: (A) => Boolean): int Zwraca całkowitą liczbę elementów w elemencie iteracyjnej spełnia warunek s. |
11 | def upuść (n: int): Iterator [A] Nowa kolekcja przed powrotem odrzutów n elementów |
12 | def dropWhile (P: (A) => Boolean): Iterator [A] Odrzuć elementem lewej do prawej, dopóki warunek nie jest spełniony p |
13 | def powielić (Iterator [A] , Iterator [A]) Dwie były w stanie wygenerować zwraca iterator iterator wszystkich elementów. |
14 | def istnieje (P: (A) => Boolean): Boolean Zwraca wartość logiczną wskazującą, czy istnieją elementy iterator spełniają elementów p. |
15 | def filtrować (P: (A) => Boolean): Iterator [A] Zwraca iterator iterator nowy element we wszystkich elementów, które spełniają warunki określone w pkt. |
16 | def filterNot (P: (A) => Boolean): Iterator [A] Zwraca element iterator iterator nie spełnia warunku elementy s. |
17 | def find (P: (A) => Boolean): Opcja [A] Zwraca pierwszy element spełniający p lub Brak. Uwaga: Jeżeli stan elementu zostanie znaleziona, iteracyjnej będzie umieszczony po elemencie, jeśli nie zostanie znaleziony, to umieszcza się na końcu. |
18 | def flatMap [B] (f: (A) => GenTraversableOnce [B]): Iterator [B] Dla iteratory stosowane do każdego elementu w sekwencji funkcji f, i zwraca wskaźnik do iteratorów sekwencji wynik. |
19 | def forall (P: (A) => Boolean): Boolean Zwraca wartość logiczną wskazującą, czy dotyczy to elementy spełniają str. |
20 | foreach def (f (A) => katalogowa): Unit Wykonywania określonych dla każdego elementu zwrócony przez program iterator f |
21 | def hasDefiniteSize: Boolean Jeżeli liczba elementów skończonych iterator zwraca true (domyślnie jest to równoznaczne z isEmpty) |
22 | def indexOf (elem: B): Int Zwraca iterację elementów indeksu wynosi pierwszego elementu x. Uwaga: iterator przetnie ten element. |
23 | def indexWhere (P: (A) => Boolean): int Zwraca iterator elementów w indeksie spełnienia warunków elementów s. Uwaga: iterator przetnie ten element. |
24 | def isEmpty: Boolean Sprawdź, czy jest on pusty, puste zwraca true, w przeciwnym wypadku zwraca False (przeciwieństwo hasNext). |
25 | def isTraversableAgain: Boolean Sprawdza, czy to Iterator może być wielokrotnie przesuwany. |
26 | Długość def: Int Zwraca liczbę elementów w iteracyjnej. |
27 | def map [B] (f: (A) => B): Iterator [B] Wyniki po przekazywane do funkcji f każdego elementu, aby wygenerować nowy iterator. |
28 | def max: a Zwraca iterator iterator elementu największego elementu. |
29 | def min: a Zwraca element iterator iterator w najmniejszych elementów. |
30 | def mkString: String Wszystkie elementy do konwersji iterację na ciąg. |
31 | def mkString (wrzesień: String): String Wszystkie elementy do konwersji iterację na ciąg znaków, a następnie określ ograniczniki. |
32 | def niepusty: Boolean Sprawdzić, czy pojemnik zawiera elementy (odpowiednik hasNext). |
33 | def padTo (len: Int, elem : A): Iterator [A] Przede wszystkich elementów zwraca iterator, dodatkowy egzemplarz elem aż osiągnie długości len. |
34 | Łata def (od: Int, patchElems : Iterator [B], zastępuje się: int): Iterator [B] Zwraca nowy iterator, która zastąpiła elementy z pierwszego elementu od początku być zastąpione przez elementy w rozumieniu iteratorów. |
35 | Produkt def: a Powrót produkt w rozumieniu liczbowych iteratorów elementu. |
36 | def sameElements (czyli: Iterator [_ ]): Boolean Analizując parametry iteratorów iteratory i podano z kolei zwraca ten sam element |
37 | def nast: Iterator [A] Powrót widok kolekcji serii |
38 | Wielkość def: Int Zwraca liczbę elementów w iterator |
39 | plasterek def (od: Int, dopóki : Int): Iterator [A] Zwraca nowy iterator, iterator wskazuje na sekwencji fragmentu od początku do pierwszego elementu od końca do pierwszej, aż elementów. |
40 | Suma def: a Zwraca iterator odnoszący się do elementów liczbowych i |
41 | def podjąć (n: int): Iterator [A] Zwraca nowy iteratorów pierwsze n elementów. |
42 | def toArray: Array [A] Wszystkie elementy iterator wskazuje na tablicę i zwrotów. |
43 | def toBuffer: Bufor [B] Wszystkie elementy iterator jest skierowany do bufora kopiowania bufora. |
44 | def toIterable: iterowalny [A] Zwraca iterowalny zawierający wszystkie elementy tego przesuwny lub iteracyjnej. To nie zakończy do nieskończonych iteratorów. |
45 | def toIterator: Iterator [A] Wszystkie elementy iterator iterator do pojemnika i wrócił. |
46 | def ToList: Lista [A] Wszystkie elementy iterator do listy i zwrotów |
47 | def toMap [T, U]: mapa [T, U] Wszystkie klucza iteracyjnej w mapie i zwrotów. |
48 | def toSeq: seq [A] Wszystkie elementy na pojemniku Do Seq i powraca. |
49 | def toString (): String Iterator zamienione na ciąg |
50 | def zip [B] (czyli: Iterator [B]): Iterator [(A, B) Zwraca nową sekwencję krotny iterator wskazujący odpowiednio odpowiadających podanym iteratory i iteratory ten element od |
Więcej sposobów, aby odnieść się do dokumentacji API