开发者

How to check if a map contain a empty string value in scala?

I have a newbie question.

We can use contains to check if a map contain a specified key, as:

val map 开发者_高级运维= Map("a"->"1", "b"->"")
map.contains("a")

But now, I want to check if the map contains an empty string, is there any method to use?


Try

map.values.exists(_ == "")

Edit: I think the above is the clearest, but I can't resist showing two others.

map.exists(_._2 == "")

is more compact, but you have to remember that _2 is the value when you iterate through a map.

map.values.exists(""==)

is an alternative form of the original, where instead of explicitly comparing the argument with _ == "", you supply an equality function "".equals _ or ""== for short. (Two ways of looking at the same thing--is it the empty string supplying its equals method for testing, or is it your closure testing the elements against the empty string? I think the latter (the original) is considerably clearer.)


You can do:

map.values.toSet.contains("")

or:

map find { case (a,b) => b == "" } isDefined


Or you can just write:

map contains ""
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜