Because I may need null values in a Collection. For instance, I may have static positions (say seats around a poker table) and I need to sometimes have values matching those keys and other times I need to have null values there (for instance no player is seated in the poker table's seat at static position 'n' so don't deal to that position).
There are many times that being able to put null values into Collections is very useful.
Joined: Oct 04, 2006
yes that's true.
means if we want to check if the list has null value or something list that in our real world object. We need to use the Null object.
and why HashTable doesn't allow null key while HashMap allows?
Dunno. Probably something to do with how it works internally.
And strictly speaking, the restriction is not particularly important. In the case of Alvin's Poker game, it would be perfectly easy (and probably clearer) to create a Player that signifies an empty seat, viz:
public static final Player EMPTY_SEAT = new Player("Not-A-Player");
Personally, I try to avoid using nulls whenever possible.
Bats fly at night, 'cause they aren't we. And if we tried, we'd hit a tree -- Ogden Nash (or should've been).
Articles by Winston can be found here