He visto un dicho exagerado: "No se considera que las personas que no han leído el código fuente de JDK aprendieron a Java". Comience a leer intensamente el código fuente desde hoy. El código fuente adecuado para la lectura intensiva no es más que las clases empaquetadas por Java.io, .util y .lang.
Todavía hay muchos exámenes en sets en las preguntas de la entrevista, por lo que comenzaré con el código fuente del conjunto.
(1) En primer lugar, la interfaz de colección.
La colección es la interfaz raíz de todas las clases de colección; La colección hereda ITerable, es decir, todas las clases en la colección pueden usar el método foreach.
/*** La colección es la interfaz raíz de todas las clases de colección; * La colección hereda ITerable, es decir, todas las clases de la colección pueden usar el método foreach. * @Author WGS * @param <E> */Public Interface Collection <E> extiende ITerable <E> {// Devuelve el tamaño del elemento en la colección. (Si este valor de tamaño excede integer.max_value, devolverá directamente integer.max_value) int size (); // juzga si el conjunto está vacío boolean isEtimty (); // el orden) iterator <E> iterator (); // devuelve todos los elementos en el conjunto en forma de matriz, y la matriz es objeto seguro [] toArray (); // Devuelve el elemento establecido del tipo de matriz especificado en forma de una matriz <t> t [] toArray (t [] a); // Este método se puede usar para determinar si el elemento establecido contiene; sí -false, no -true (este método a menudo se llama en el set, mapa, que es muy útil en las preguntas de programación) boolean add (e e); // elimina el elemento especificado del set boolean remove (objeto o); // use para determinar si el elemento boolean contiene (colección <?> c); // Agregar todos los elementos en el conjunto especificado a la colección de calles boolean boolean addall (colección <? Extends e; Elemento como el conjunto especificado (es decir, elimine la parte de intersección de los dos conjuntos) boolean Removeall (colección <?> c); // elimina todos los elementos en el conjunto especificado (es decir, elimine la parte de intersección de los dos conjuntos) boolean RemoveAll (colección <?> c); // eliminar todos los elementos en el conjunto especificado en el conjunto de colección de la llamada de la llamada (colección <? Conjunto especificado (es decir, elimine la parte de intersección de los dos conjuntos) boolean RemoveAll (colección <?> c); // Conserva los mismos elementos que en el conjunto especificado (es decir, eliminar elementos que son diferentes del conjunto booleano de retención boolean (colección <?> c); // Claro el conjunto Clear (); // Defender si es igual al iguales de elementos especificados Boolean (objetos (objetos (objetos (objetos (objetos (objetos (objetos (objetos (objetos (objetos (objetos (objetos (Objetivo (Objetivo (Object/ Valor de código del set int hashcode ();}Resumir
Lo anterior es todo el contenido de este artículo sobre la explicación detallada de la colección de lectura del código fuente JDK, espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!