Bộ sưu tập Scala - Trình lặp lại
Trình lặp không phải là một tập hợp, mà là một cách để truy cập từng phần tử của một tập hợp. Hai hoạt động cơ bản trên mộtiterator it Chúng tôi next và hasNext. Một cuộc gọi đếnit.next()sẽ trả về phần tử tiếp theo của trình lặp và nâng cao trạng thái của trình lặp. Bạn có thể tìm hiểu xem có nhiều phần tử hơn để trả lại bằng cách sử dụngit.hasNext phương pháp.
Cách đơn giản nhất để "bước qua" tất cả các phần tử được trả về bởi một trình vòng lặp là sử dụng vòng lặp while. Chúng ta hãy theo dõi chương trình ví dụ sau.
Thí dụ
object Demo {
def main(args: Array[String]) {
val it = Iterator("a", "number", "of", "words")
while (it.hasNext){
println(it.next())
}
}
}
Lưu chương trình trên vào Demo.scala. Các lệnh sau được sử dụng để biên dịch và thực thi chương trình này.
Chỉ huy
\>scalac Demo.scala
\>scala Demo
Đầu ra
a
number
of
words
Tìm phần tử có giá trị tối thiểu & tối đa
Bạn có thể dùng it.min và it.maxphương pháp để tìm ra các phần tử có giá trị nhỏ nhất và lớn nhất từ một trình lặp. Ở đây, chúng tôi đã sử dụngita và itbđể thực hiện hai hoạt động khác nhau vì trình lặp chỉ có thể được duyệt một lần. Sau đây là chương trình ví dụ.
Thí dụ
object Demo {
def main(args: Array[String]) {
val ita = Iterator(20,40,2,50,69, 90)
val itb = Iterator(20,40,2,50,69, 90)
println("Maximum valued element " + ita.max )
println("Minimum valued element " + itb.min )
}
}
Lưu chương trình trên vào Demo.scala. Các lệnh sau được sử dụng để biên dịch và thực thi chương trình này.
Chỉ huy
\>scalac Demo.scala
\>scala Demo
Đầu ra
Maximum valued element 90
Minimum valued element 2
Tìm chiều dài của lặp lại
Bạn có thể sử dụng it.size hoặc là it.lengthcác phương pháp để tìm ra số phần tử có sẵn trong một trình lặp. Ở đây, chúng tôi đã sử dụng ita và itb để thực hiện hai hoạt động khác nhau vì trình lặp chỉ có thể được duyệt một lần. Sau đây là chương trình ví dụ.
Thí dụ
object Demo {
def main(args: Array[String]) {
val ita = Iterator(20,40,2,50,69, 90)
val itb = Iterator(20,40,2,50,69, 90)
println("Value of ita.size : " + ita.size )
println("Value of itb.length : " + itb.length )
}
}
Lưu chương trình trên vào Demo.scala. Các lệnh sau được sử dụng để biên dịch và thực thi chương trình này.
Chỉ huy
\>scalac Demo.scala
\>scala Demo
Đầu ra
Value of ita.size : 6
Value of itb.length : 6