我有下面的案例课。
case class UserEvent(id: Int, url: String)
我有下面的代码按预期工作。这段代码创建了一个包含3个userevents的迭代器对象,然后返回3的长度。
val event1: UserEvent = UserEvent(1, "Url1")
val event2: UserEvent = UserEvent(1, "Url2")
val event3: UserEvent = UserEvent(1, "Url3")
val eventIterator: Iterator[UserEvent] = Iterator(event1, event2, event3)
println(eventIterator.length) //Returns 3
但是,当我尝试Map到这个迭代器上并只接收url时,这将导致一个空迭代器。例如。
val eventUrls: Iterator[String] = eventIterator.map(
userEvent =>{userEvent.url}
)
println(eventUrls.length) //This returns 0
这个简单的例子给出了一些意想不到的结果。如何使应用于迭代器的Map返回一个非空迭代器?
暂无答案!
目前还没有任何答案,快来回答吧!