HashSet mecanismo de almacenamiento:
- Con una longitud de la matriz de elemento de almacenamiento subyacente, y la matriz es siempre la n-ésima potencia de 2, si la longitud de entrada de la matriz no es n-ésima potencia de 2, HashSet ésta se extenderá automáticamente a la n-ésima potencia de 2;
- HashSet constructor:
HashSet(int initialCapacity, float loadFactor) //initialCapacity——控制底层数组长度 //loadFactor——当HashSet感觉到底层快要满的时候(0.75),会将底层数组容量扩充1倍, //原来的数组就变成垃圾,等待回收,即rehash(重hash) //说明:当LoadFactor为0.75时,75%的桶已满,HashSet会分配新的数组;LoadFactor越小, //越消耗内存;LoadFactor越大,性能越低 //数组越满,才回去“重hash”,越有可能出现链表
- HashSet en el mecanismo:
- Cuando todos los elementos se añaden a la mezcla, el objeto es método invocado HashSet HashCode (), para obtener un valor int;
- El valor int devuelto HashCode (), que se calcula en la matriz HashSet inferior [] de ubicaciones de almacenamiento (matriz indexada);
- Si no hay ningún elemento que se añade es una posición (está vacío), directamente en la lata;
- Si desea agregar la posición del elemento que ha sido, en la que se formará una "cadena"
- HashSet tomar elementos de mecanismos:
- Cuando queremos tomar un elemento, el objeto es método invocado HashSet HashCode (), para obtener un valor int;
- El valor int devuelto HashCode (), que calcula la posición de almacenamiento (el índice de la matriz) a una HashSet;
- Si la ubicación elemento está buscando exactamente se puede tomar directamente;
- Si el lugar tiene una lista, HashSet a "uno por uno" en los elementos de la lista de búsqueda
Descripción: En el mejor de los casos, el rendimiento es casi HashSet partido matriz, a depositar, retirar un rendimiento muy alto
- HashSet dos objetos se consideran iguales condiciones:
- HashCode dos objetos () es igual al valor de retorno;
- Compare los dos objetos también son devueltos por igual a true
uso detallado de la función Java HashSet, mecanismos de almacenamiento y análisis de rendimiento
Supongo que te gusta
Origin blog.csdn.net/qq_38358499/article/details/100631653
Recomendado
Clasificación