В этой статье описывается реализация Java фильтрации значений с пустым ключом или значением в сборе карт. Поделитесь этим для вашей ссылки, следующим образом:
Импорт java.util.collection; import java.util.hashmap; import java.util.iterator; import java.util.map; import java.util.set;/*** Filter Out значения ключа или значения в коллекции карт с пустыми клавишами* @author lmb* @date 2017-3-14*/public class key intruyut lement lement lement reelps* @date 2017-3-14*/publicoupulululululul или значение значения в карте * @param map */ public static void removenullentry (map map) {removenullkey (map); removenullvalue (map); } / ** * Удалить пустую клавишу карты * @param map * @return * / public void removenullkey (map map) {set set = map.keyset (); for (iterator iterator = set.iterator (); iterator.hasnext ();) {Object obj = (Object) iterator.next (); Удалить (obj, итератор); }} / ** * Удалить пустое значение в карте * @param map * @return * / public void removenullvalue (map map) {set set = map.keyset (); for (iterator iterator = set.iterator (); iterator.hasnext ();) {Object obj = (Object) iterator.next (); Значение объекта = (объект) map.get (obj); удалить (значение, итератор); }} /*** Удалить нулевые значения в карте** Итератор работает в независимом потоке и имеет блокировку Mutex. * После создания итератора будет создана односменная таблица индекса, указывающая на исходный объект. Когда количество исходных объектов изменяется, содержание этой таблицы индексов не будет изменяться синхронно. * Следовательно, когда указатель индекса движется назад, объект для итерации не может быть найден. Следовательно, в соответствии с принципом неудачной, итератор немедленно бросит исключение java.util.concurrentModificationException. * Следовательно, итератор не позволяет изменять итерационные объекты, когда он работает. * Но вы можете использовать собственный метод итератора, чтобы удалить (), чтобы удалить объект. Метод iterator.remove () будет поддерживать согласованность индекса при удалении текущего итерационного объекта. * @param obj * @param iterator */ private static void remove (Object obj, итератор итератор) {if (obj instanceOf string) {string str = (string) obj; if (isempty (str)) {// Отфильтровать выходной результат основной функции с помощью NULL и «MAP: {2 = BB, 1 = AA, 5 = CC, 8 =} // if (" ". Equals (str.trim ())) {// Фильтра iterator.remove (); }} else if (obj exanceof collection) {collection col = (collection) obj; if (col == null || col.isempty ()) {iterator.remove (); }} else if (obj ancessionof 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 isempty (Object obj) {return obj == null || obj.tostring (). length () == 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", null); map.put ("7", ""); map.put ("8", ""); System.out.println (map); // Результат вывода: {2 = bb, 1 = aa, 7 =, 6 = null, 5 = cc, 8 =} removenullentry (map); System.out.println (map); }}Результаты работы:
{1 = aa, 2 = bb, 5 = cc, 6 = null, 7 =, 8 =}
{1 = aa, 2 = bb, 5 = cc, 8 =}
Для получения дополнительной информации об алгоритмах Java, читатели, которые заинтересованы в этом сайте, могут просмотреть темы: «Учебное пособие по структуре данных Java и алгоритм», «Сводка операции Java Dom Node», «Сводка Java File и каталог
Я надеюсь, что эта статья будет полезна для всех Java Programming.