Generally, making a variable final
is a good coding practice and also may lead to some performance benefits (see the https://stackoverflow.com/a/4279442/508328 for details).
In your case, however, the situation is slightly different because Java's implementation of hash map can only grow its internal structure and never shrinks down, which leads to the continuous deterioration of its scan performance. So if your map is going to be changed often, it'd be better to recreate it now and then, and in that case it can't be final
.