이 기사에서는 맵 수집의 빈 키 또는 값으로 값을 필터링하는 Java 구현에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
import java.util.collection; import java.util.hashmap; import java.util.iterator; import java.util.map; import java.util.set;/*** 빈 키를 가진지도 컬렉션에서 키 또는 값의 값을 필터링하십시오* @author lmb* @date 2017-14*/public maprem mapremeallutil + vallovenullutil + allovenullutil + audle + authertil + authle + authertil + public classe {/public class at a volit auther lmb* @ 지도의 키 또는 값 값 * @param 맵 */ public static void removenullentry (맵 맵) {removenullkey (지도); removenullValue (지도); } / ** *지도의 빈 키를 제거 * @param map * @return * / public static void removenullkey (맵 맵) {set set = map.keyset (); for (iterator iterator = set.iterator (); iterator.hasnext ();) {object obj = (Object) iterator.next (); 제거 (obj, 반복자); }} / ** *지도에서 빈 값을 제거 * @param map * @return * / public static void removenullValue (맵 맵) {set set = map.keyset (); for (iterator iterator = set.iterator (); iterator.hasnext ();) {object obj = (Object) iterator.next (); 개체 값 = (Object) map.get (obj); 제거 (값, 반복자); }} /*** 맵에서 널 값을 제거** 반복자는 독립 스레드에서 작동하며 뮤트 잠금 장치가 있습니다. * 반복자가 만들어지면 원래 객체를 가리키는 단일 연결 인덱스 테이블이 생성됩니다. 원래 객체의 수가 변경되면이 인덱스 테이블의 내용이 동시에 변경되지 않습니다. * 따라서 인덱스 포인터가 뒤로 이동하면 반복 할 객체를 찾을 수 없습니다. 따라서 실패한 원칙에 따라 반복자는 즉시 java.util.concurrentModificationException 예외를 던집니다. * 따라서 반복자는 작동 할 때 반복 된 객체를 변경할 수 없습니다. * 그러나 반복자 자체 메소드를 사용하여 ()을 사용하여 객체를 삭제할 수 있습니다. iterator.remove () 메소드는 현재 반복 된 객체를 삭제하면서 인덱스의 일관성을 유지합니다. * @param obj * @param iterator */ private static void remove (object obj, iterator iterator) {if (obj instanceof String) {String str = (string) obj; if (isempty (str)) {// null과 "맵 :"맵 : {2 = bb, 1 = aa, 5 = cc, 8 =} // if ( "." iterator.remove (); }} else if (obj instanceof collection) {collection col = (collection) obj; if (col == null || col.isempty ()) {iterator.remove (); }} else if (obj instanceof 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 (지도); }}실행 결과 :
{1 = aa, 2 = bb, 5 = cc, 6 = null, 7 =, 8 =}
{1 = aa, 2 = bb, 5 = cc, 8 =}
Java 알고리즘에 대한 자세한 내용은이 사이트에 관심이있는 독자들이 주제를 볼 수 있습니다. "Java 데이터 구조 및 알고리즘 자습서", "Java Operation Dom Node Tips 요약", "Java 파일 및 디렉토리 작동 팁 요약"및 "Java Cache Operation Tips의 요약"을 볼 수 있습니다.
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.