https://kotlinlang.org logo
#getting-started
Title
# getting-started
a

allan.conda

01/26/2021, 7:46 AM
<Can’t find a good answer in SO> What’s an idiomatic way to check if a list (or set) contains only one specific value? anything better than
checkedSet.contains(value) && checkedSet.size == 1
?
r

Radoslaw Juszczyk

01/26/2021, 8:18 AM
what about
.filter{it==value}.size == 1
?
t

thanksforallthefish

01/26/2021, 8:26 AM
checkedSet == setOf(value)
?
1
a

allan.conda

01/26/2021, 8:35 AM
I see… So far I got
checkSet.singleOrNull { it == value } != null
but I’m not liking the null check lol
r

Radoslaw Juszczyk

01/26/2021, 8:38 AM
aa so in case of
listOf("A","B").containsOnlyOneSpecificValue("A")
you expect false?
a

allan.conda

01/26/2021, 8:38 AM
yes
r

Radoslaw Juszczyk

01/26/2021, 8:40 AM
then:
checkedSet.singleOrNull()==value
a

allan.conda

01/26/2021, 8:41 AM
Oh…. yeah…
r

Radoslaw Juszczyk

01/26/2021, 8:41 AM
null==value will give you false so you are safe
a

allan.conda

01/26/2021, 8:41 AM
yeah, the value is an enum, can’t be null
Thanks a lot!
👍 1