Este artículo describe la implementación de Java de los valores de filtrado con la clave o el valor vacío en la colección de mapas. Compártelo para su referencia, como sigue:
import java.util.collection; import java.util.hashmap; import java.util.iterator; import java.util.map; import java.util.set;/*** Filtrar los valores de la clave o valor en la colección de mapas con claves vacías* @author lmb* @date 2017-3-14*/public class mapruLUTILLUTIl {/{/@author. Valor Valor en el mapa * @param map */ public static void remoVovenullEntry (mapa map) {removenullkey (map); removenullValue (mapa); } / ** * Elimine la tecla vacía del mapa * @param mapa * @return * / public static void removenullkey (map map) {set set = map.KeySet (); for (iterator iterator = set.iterator (); iterator.hasnext ();) {object obj = (object) iterator.next (); eliminar (obj, iterador); }} / ** * Eliminar el valor vacío en el mapa * @param map * @return * / public static void remoUrvenullValue (map map) {set = map.KeySet (); for (iterator iterator = set.iterator (); iterator.hasnext ();) {object obj = (object) iterator.next (); Valor de objeto = (objeto) map.get (obj); eliminar (valor, iterador); }} /*** Eliminar los valores nulos en el mapa** Iterator funciona en un hilo independiente y tiene un bloqueo mutex. * Después de que se crea el iterador, se creará una tabla de índice ligada única que apunta al objeto original. Cuando cambia el número de objetos originales, el contenido de esta tabla de índice no cambiará sincrónicamente. * Por lo tanto, cuando el puntero de índice se mueve hacia atrás, no se puede encontrar el objeto a ser iterado. Por lo tanto, de acuerdo con el principio de Fail-Fast, el Iterator lanzará inmediatamente una excepción de Java.Util.ConcurrentModificationException. * Por lo tanto, el iterador no permite que los objetos iterados se cambien cuando funciona. * Pero puede usar el método de iterador. El método iterator.remove () mantendrá la consistencia del índice al eliminar el objeto iterado actual. * @param obj * @param iterator */ private static void remove (object obj, iterator iterator) {if (obj instanciaf string) {string str = (string) obj; if (isEtimty (str)) {// filtra el resultado de salida de la función principal con nulo y "" mapa: {2 = bb, 1 = aa, 5 = cc, 8 =} // if ("". Equals (str.triM ()))) {// filtra el resultado de salida de la función principal con null, "y" "Mapa: {2 = bb, 1 = aa, 5 = cc} iterator.remove (); }} else if (obj instanciaf colección) {colección col = (colección) obj; if (col == null || col.isempty ()) {iterator.remove (); }} else if (obj instanciaf map) {map temp = (map) obj; if (temp == null || temp.isEmpty ()) {iterator.remove (); }} else if (obj instanceOf object []) {object [] array = (object []) obj; if (array == null || array.length <= 0) {iterator.remove (); }} else {if (obj == null) {iterator.remove (); }}} public static boolean isEtimty (object obj) {return obj == null || obj.ToString (). longitud () == 0; } public static void main (string [] args) {map map = new Hashmap (); map.put (1, "aa"); map.put ("2", "bb"); map.put ("5", "cc"); map.put ("6", nulo); map.put ("7", ""); map.put ("8", ""); System.out.println (map); // resultado de salida: {2 = bb, 1 = aa, 7 =, 6 = null, 5 = cc, 8 =} remoUdullEntry (map); System.out.println (mapa); }}Resultados de ejecución:
{1 = aa, 2 = bb, 5 = cc, 6 = nulo, 7 =, 8 =}
{1 = aa, 2 = bb, 5 = cc, 8 =}
Para obtener más información sobre los algoritmos de Java, los lectores interesados en este sitio pueden ver los temas: "Estructura de datos Java y tutorial de algoritmo", "Resumen de las puntas de nodo de operación de Java DOM", "Resumen de Java Archivo y TIPS de operación de directorio" y "Summary of Java Cache Operation Tips" TIPS ""
Espero que este artículo sea útil para la programación Java de todos.