Scala Iterator (iteradores)
Scala Iterator (iteradores) não é uma coleção, é um método para o acesso à coleção.
Duas operações básicas iterator éao lado e hasNext.
Chamadait.next () retorna um iterador para o próximo elemento, e atualizar o estado iterador.
Chamadait.hasNext () é usado para detectar se existem elementos na coleção.
O iterador retorna todos os elementos um a um, a maneira mais fácil é usar um loop while:
object Test { def main(args: Array[String]) { val it = Iterator("Baidu", "Google", "w3big", "Taobao") while (it.hasNext){ println(it.next()) } } }
Implementação do código acima, a saída é:
$ scalac Test.scala $ scala Test Baidu Google w3big Taobao
Encontrar os elementos mínimos e máximos
Você pode usarit.min e método it.maxpara encontrar os elementos mínimos e máximos do iterador, os exemplos são os seguintes:
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 ) } }
Implementação do código acima, a saída é:
$ scalac Test.scala $ scala Test 最大元素是:90 最小元素是:2
Obter comprimento iterador
Você pode usarit.size ou forma it.lengthpara ver o número de elementos no iterador. Exemplos são os seguintes:
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 ) } }
Implementação do código acima, a saída é:
$ scalac Test.scala $ scala Test ita.size 的值: 6 itb.length 的值: 6
Scala Iterator método comum
A tabela a seguir lista os métodos comuns Scala Iterator:
Não. | Método e Descrição |
---|---|
1 | def hasNext: Boolean Se houver elementos que podem ser retornados, retorna true. |
2 | def next (): A Retorna o próximo elemento no iterador, e atualiza o estado do iterador |
3 | DEF ++ (que: => Repetidor [A]): Repetidor [A] A fusão de dois iteradores |
4 | def ++ [B>: A] (que: => GenTraversableOnce [B]): Iterator [B] A fusão de dois iteradores |
5 | def addString (b: StringBuilder): StringBuilder Adicionar uma string para stringbuilder b |
6 | addString def (b: StringBuilder, setembro : String): StringBuilder Adicionar uma string para StringBuilder b, e especificar delimitadores |
7 | def tamponada: BufferedIterator [A] Iterators são convertidos em BufferedIterator |
8 | def contém (elem: Qualquer): booleano iterator detector contém o elemento especificado |
9 | def copyToArray (xs: Array [A ], começar: Int, len: Int): Unidade Repetidor valor seleccionado é passado para uma matriz |
10 | def count (p: (A) => Boolean): Int Retorna o número total de elementos no elemento iteradora satisfaz a condição p. |
11 | def cair (n: int): Iterator [A] A nova coleção antes de retornar devoluções n elementos |
12 | def dropWhile (p: (A) => Boolean): Iterator [A] elemento de descarte esquerda para a direita, até que a condição não for satisfeita p |
13 | def duplicar: (Iterator [A] , Iterator [A]) Dois foram capazes de gerar retornos um iterador iterador de todos os elementos. |
14 | def existe (p: (A) => Boolean): Boolean Ele retorna um valor booleano que indica se há elementos de iterador satisfazer elementos p. |
15 | def filtrar (p: (A) => Boolean): Iterator [A] Retornar um novo elemento iterador iterador em todos os elementos para satisfazer as condições de p. |
16 | def filterNot (p: (A) => Boolean): Iterator [A] Retorna um elemento iterador iterador não satisfaz os elementos condição p. |
17 | def encontrar (p: (A) => Boolean): Opção [A] Retorna o primeiro elemento que satisfaça p ou Nenhum. Nota: Se a condição de o elemento é encontrado, a iteração vai ser colocado depois do elemento; se não for encontrado, ele será colocado no final. |
18 | def flatMap [B] (f: (A) => GenTraversableOnce [B]): Iterator [B] Para iterators aplicada a cada elemento da sequência de função F, e retorna um ponteiro para os iterators resultado de sequência. |
19 | def forall (p: (A) => Boolean): Boolean Ele retorna um valor booleano que indica se ela se refere aos elementos satisfazer p. |
20 | foreach def (f: (A) => Unit): Unidade Executar especificada em cada elemento retornado pelo programa iterador f |
21 | hasDefiniteSize def: Boolean Se o número de elemento finito iterador retorna true (o padrão é equivalente a isEmpty) |
22 | def indexOf (elem: B): Int Devolve uma iteração dos elementos no índice é igual ao primeiro elemento de x. Nota: O iterador vai atravessar este elemento. |
23 | def indexWhere (p: (A) => Boolean): Int Retorna um iterador dos elementos no índice de conhecer os elementos condições p. Nota: O iterador vai atravessar este elemento. |
24 | def isEmpty: Boolean Verifique se ele está vazio, declarações vazias verdade, caso contrário, ele retorna false (oposto do hasNext). |
25 | def isTraversableAgain: Boolean Testa se este Iterator pode ser repetidamente percorrido. |
26 | comprimento def: Int Retorna o número de elementos no iterador. |
27 | def map [B] (f: (A) => B): Iterator [B] Os resultados depois passado para a função f de cada elemento para gerar uma nova iteração. |
28 | def máx: A Retorna um elemento iterador iterador maior elemento. |
29 | min DEF: Um Retorna um elemento iterador iterador nas menores elementos. |
30 | def mkString: String Todos os elementos para converter um iterador para uma cadeia. |
31 | def mkString (sep: String): Cordas Todos os elementos para converter um iterador para uma cadeia, e especificar delimitadores. |
32 | def não vazia: Boolean Verifique se o recipiente contém elementos (o equivalente a hasNext). |
33 | def padTo (len: Int, elem : A): Iterator [A] Primeiro de todos os elementos retorna um iterador, uma cópia adicional do elem até que o comprimento atinge len. |
34 | remendo def (a partir de: Int, patchElems : Iterator [B], substituiu: Int): Iterator [B] Retornar uma nova iteração, que substituiu elementos do primeiro elemento desde o início para ser substituídos por elementos na acepção do iterators. |
35 | produto def: A Devolver o produto dentro do significado das iterators elementos numéricos. |
36 | sameElements def (que: Iterator [_ ]): Boolean Analisando iterators e parâmetros iteradoras são especificadas por sua vez, retorna o mesmo elemento |
37 | def seguintes: Iterator [A] Vista traseira da série coleção |
38 | tamanho def: Int Retorna o número de elementos em um iterador |
39 | fatia def (a partir de: Int, até : Int): Iterator [A] Retornar uma nova iteração, um iterador está apontando para o fragmento de sequência desde o início para o primeiro elemento de uma extremidade à primeira até elementos. |
40 | soma def: A Retorna um iterador referindo-se a elementos numéricos e |
41 | def tomar (n: int): Iterator [A] Retorna um novo iterador primeiro n elementos. |
42 | def toArray: Array [A] Todos os elementos iterador está apontando para uma matriz e retorna. |
43 | def toBuffer: Buffer [B] Todos os elementos iterador está apontando para o buffer de cópia de buffer. |
44 | def toIterable: Iterable [A] Retorna um Iterable contendo todos os elementos deste traversable ou iterador. Isso não vai terminar por iterators infinitas. |
45 | def toIterator: Iterator [A] Todos os elementos Iterator iteração para um recipiente e devolvido. |
46 | ToList def: Lista [A] Todos os elementos do iterador em uma lista e retorna |
47 | def toMap [T, U]: Mapa [T, U] Todo o iterador chave em um mapa e retorna. |
48 | def toSeq: Seq [A] Todos os elementos ao longo do recipiente para um Seq e retorna. |
49 | toString def (): String Iterator convertida para uma string |
50 | def zip [B] (que: Iterator [B]): Iterator [(A, B) Retornar uma nova sequência tupla iterador apontando respectivamente correspondem às iterators especificados e iteradores esse elemento do |
Mais maneiras para se referir a documentação da API