Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

map

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?

like image 726
Freewind Avatar asked Dec 21 '22 17:12

Freewind


1 Answers

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.)

like image 159
Rex Kerr Avatar answered Feb 16 '23 00:02

Rex Kerr