Scala Iterator (itérateurs)
Scala Iterator (itérateurs) ne soit pas une collection, il est une méthode d'accès à la collection.
Deux opérations de base iterator il est àcôté et hasNext.
Appelezit.next () retourne un itérateur à l'élément suivant, et mettre à jour l'état de l' itérateur.
Appelerit.hasNext () est utilisée pour détecter s'il y a des éléments de la collection.
L'itérateur retourne tous les éléments un par un le plus simple est d'utiliser une boucle while:
object Test { def main(args: Array[String]) { val it = Iterator("Baidu", "Google", "w3big", "Taobao") while (it.hasNext){ println(it.next()) } } }
Mise en œuvre du code ci-dessus, la sortie est:
$ scalac Test.scala $ scala Test Baidu Google w3big Taobao
Trouver les éléments de maximum et minimum
Vous pouvez utiliserit.min et la méthode it.maxpour trouver les maximum et minimum des éléments de l'itérateur, des exemples sont les suivants:
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 ) } }
Mise en œuvre du code ci-dessus, la sortie est:
$ scalac Test.scala $ scala Test 最大元素是:90 最小元素是:2
Obtenez longueur de iterator
Vous pouvezit.size ou chemin it.lengthutiliser pour afficher le nombre d'éléments dans l'itérateur. Des exemples sont les suivants:
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 ) } }
Mise en œuvre du code ci-dessus, la sortie est:
$ scalac Test.scala $ scala Test ita.size 的值: 6 itb.length 的值: 6
Scala Iterator méthode commune
Le tableau suivant présente les méthodes communes Scala Iterator:
Non. | Méthode et description |
---|---|
1 | def hasNext: Boolean S'il y a des éléments qui peuvent être renvoyés, return true. |
2 | def next (): A Renvoie l'élément suivant dans l'itérateur, et met à jour l'état de l'itérateur |
3 | def ++ (que: => Iterator [A]): Iterator [A] La fusion de deux itérateurs |
4 | def ++ [B>: A] (que: => GenTraversableOnce [B]): Iterator [B] La fusion de deux itérateurs |
5 | def addString (b: StringBuilder): StringBuilder Ajouter une chaîne à stringbuilder b |
6 | def addString (b: StringBuilder, septembre : String): StringBuilder Ajouter une chaîne à StringBuilder b, et spécifiez délimiteurs |
7 | def tamponnée: BufferedIterator [A] Itérateurs sont convertis en BufferedIterator |
8 | def contient (elem: Any): Boolean Détecteur itérateur contient l'élément spécifié |
9 | def copyToArray (xs: Array [A ], lancez: Int, len: Int): Unité Iterator valeur sélectionnée est transmise à un tableau |
10 | compter def (p: (A) => Boolean): Int Renvoie le nombre total d'éléments dans l'élément de iterator satisfait à la condition p. |
11 | def drop (n: Int): Iterator [A] La nouvelle collection avant rejets n éléments de retour |
12 | def dropWhile (p: (A) => Boolean): Iterator [A] élément Jeter gauche à droite, jusqu'à ce que la condition ne p satisfait |
13 | dupliquer def: (Iterator [A] , Iterator [A]) Deux ont été en mesure de générer des rendements un itérateur iterator de tous les éléments. |
14 | existe def (p: (A) => Boolean): Boolean Il renvoie une valeur booléenne indiquant s'il y a des éléments de l'itérateur satisfaire p éléments. |
15 | def filtre (p: (A) => Boolean): Iterator [A] Retour un nouvel élément itérateur iterator dans tous les éléments pour répondre aux conditions de p. |
16 | def filterNot (p: (A) => Boolean): Iterator [A] Renvoie un élément itérateur iterator ne satisfait pas aux éléments état p. |
17 | trouver def (p: (A) => Boolean): Option [A] Retourne le premier élément satisfaisant p ou Aucun. Remarque: Si l'état de l'élément est trouvé, l'itérateur sera placé après l'élément, si non trouvé, il sera placé à la fin. |
18 | def flatMap [B] (f: (A) => GenTraversableOnce [B]): Iterator [B] Pour itérateurs appliqués à chaque élément de la fonction de séquence f, et renvoie un pointeur sur les itérateurs de séquence de résultat. |
19 | def forall (p: (A) => Boolean): Boolean Elle renvoie une valeur booléenne qui indique si elle se réfère aux éléments satisfont p. |
20 | def foreach (f: (A) => Unité): Unité Effectuer spécifiée sur chaque élément renvoyé par le programme iterator f |
21 | def hasDefiniteSize: Boolean Si le nombre d'éléments finis iterator retourne true (la valeur par défaut est équivalent à isEmpty) |
22 | def indexOf (elem: B): Int Retourne un itérateur des éléments dans l'index est égal au premier élément de x. Remarque: Le iterator traversera cet élément. |
23 | def indexWhere (p: (A) => Boolean): Int Retourne un itérateur des éléments de l'indice pour répondre aux éléments conditions p. Remarque: Le iterator traversera cet élément. |
24 | def isEmpty: Boolean Vérifiez si elle est vide, les retours à vide vrai, sinon il retourne faux (en face de hasNext). |
25 | def isTraversableAgain: Boolean Teste si ce Iterator peuvent être déplacés à plusieurs reprises. |
26 | longueur de def: Int Retourne le nombre d'éléments dans l'itérateur. |
27 | carte def [B] (f: (A) => B): Iterator [B] Les résultats après il est passé dans la fonction f de chaque élément pour générer un nouvel itérateur. |
28 | def max: A Retourne un élément de itérateur iterator plus grand élément. |
29 | def min: A Renvoie un élément itérateur iterator dans les plus petits éléments. |
30 | def mkString: String Tous les éléments pour convertir un itérateur à une chaîne. |
31 | def mkString (septembre: String): chaîne Tous les éléments pour convertir un itérateur à une chaîne, et préciser délimiteurs. |
32 | def NonEmpty: Boolean Vérifiez si le conteneur contient des éléments (l'équivalent de hasNext). |
33 | def padTo (len: Int, elem : A): Iterator [A] de tous les éléments d'abord retourne un itérateur, une copie supplémentaire de elem jusqu'à ce que la longueur atteint len. |
34 | patch def ( à partirde: Int, patchElems: Iterator [B], remplacé: Int): Iterator [B] Retour un nouveau iterator, qui a remplacé les éléments du premier élément du début à être remplacés par des éléments au sens de l'itérateurs. |
35 | produit def: A produit Retour au sens des itérateurs d'éléments numériques. |
36 | sameElements def (que: Iterator [_ ]): Boolean Analyse itérateurs et paramètres iterator sont spécifiés à son tour renvoie le même élément |
37 | def suivants: Iterator [A] Vue arrière de la série de collection |
38 | Taille du def: Int Retourne le nombre d'éléments dans un itérateur |
39 | def tranche ( à partirde: Int, jusqu'à ce que: Int): Iterator [A] Retour un nouveau iterator, un itérateur pointe vers le fragment de séquence depuis le début du premier élément d'une extrémité à la première jusqu'à ce que des éléments. |
40 | def somme: A Retourne un itérateur se référant à des éléments numériques et |
41 | prendre def (n: Int): Iterator [A] Renvoie une nouvelle itération n premiers éléments. |
42 | def toArray: Array [A] Tous les éléments itérateur pointe dans un tableau et des rendements. |
43 | def toBuffer: Buffer [B] Tous les éléments itérateur pointe vers le tampon de copie tampon. |
44 | def toIterable: Iterable [A] Retourne un Iterable contenant tous les éléments de cette traversable ou iterator. Cela ne mettra pas fin pour itérateurs infinies. |
45 | def toIterator: Iterator [A] Tous les éléments itérateur iterator dans un récipient et retournés. |
46 | def toList: Liste [A] Tous les éléments de l'itérateur dans une liste et retourne |
47 | def toMap [T, U]: Carte [T, U] Tous les iterator clé dans une carte et retourne. |
48 | def toSeq: Seq [A] Tous les éléments à travers le récipient dans un Seq et retourne. |
49 | def toString (): String Iterator converti en une chaîne |
50 | def zip [B] (que: Iterator [B]): Iterator [(A, B) Retour d'une nouvelle séquence de tuple iterator de pointage correspondent respectivement aux itérateurs spécifiées et itérateurs cet élément de la |
D' autres façons de se référer à la documentation de l' API