No entiendo, por qué una nueva pestaña para borrar.
No es una tabla nueva ... es solo una variable local.
me ocurren tres posibles razones:
legibilidad, según lo sugerido por @Bhesh Gurung ... a pesar de que casi no hace una diferencia aquí (OMI).
Podría mitigar (algo) el daño causado si un hilo llama a clear()
, mientras que un segundo hilo realiza una actualización que podría hacer que la tabla se expanda. Pero ciertamente no soluciona el problema, por lo que me inclinaría a descartar esto como una falta de sentido.
Podría mejorar el rendimiento; p.ej. dado que el optimizador sabe que la referencia en la variable local tab
no puede cambiar, puede optimizar mejor los límites de la matriz.
De estos, creo que la tercera razón es la más plausible.
(no creo que es algo que ver con el modificador transient
. En este caso, el modificador es sólo allí para facilitar la lectura. La clase HashMap
ofrece readObject
y writeObject
que hace que el discutible transient
modificador.)
Probablemente por legibilidad. –