Latest web development tutorials

Scala Iterator (itérateurs)

collections Scala collections Scala

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

collections Scala collections Scala