I'm using a SessionListener to check if a user is online or not.
It basically keeps a List of all online users.
Too check if one is online or not I use "contains()".
If there were say a few 1000 users online it would take a while to perform "contains()".
That's why I thought of splitting up the lists in a few lists identified by the first 3 chars or so of the users id.
Is this the way to go, or are there other, better ways of doing this?
Author and all-around good cowpoke
posted 7 years ago
The obvious choice for a collection is to use a implementation of the Set interface, for example HashSet - essentially a Map where the entry (user name) is both value and key.
This sort of lookup uses a Hashcode and is very very fast compared to brute force lookups with (for example) an ArrayList.