この記事では、Map Collectionの空のキーまたは値を使用して値をフィルタリングするJavaの実装について説明します。次のように、参照のために共有してください。
java.util.collection; Import java.util.hashmap; import java.util.iterator; import java.util.map; Import java.util.set;/***空の鍵を使用してマップコレクションのキーまたは値の値を除外* @author lmb* @dateまたはマップの値 * @param Map */ public static void removenullentry(マップマップ){removenullkey(Map); removenullValue(MAP); } / ** *マップの空のキーを削除 * @param map * @return * / public static void removenykey(マップマップ){set set = map.keyset(); for(iterator iterator = set.iterator(); iterator.hasnext();){object obj =(object)iterator.next();削除(obj、iterator); }} / ** *マップ内の空の値を削除 * @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);削除(value、iterator); }} /***マップでnull値を削除** Iteratorは、独立したスレッドで動作し、Mutexロックがあります。 * Iteratorが作成された後、元のオブジェクトを指す単一リンクインデックステーブルが作成されます。元のオブジェクトの数が変更された場合、このインデックステーブルのコンテンツは同期して変更されません。 *したがって、インデックスポインターが後方に移動する場合、反復するオブジェクトは見つかりません。したがって、フェイルファーストの原則に従って、IteratorはすぐにJava.util.concurrentModificationExceptionの例外をスローします。 *したがって、イテレーターは、機能するときに反復オブジェクトを変更することを許可しません。 *ただし、Iterator独自のメソッドremod()を使用して、オブジェクトを削除できます。 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と "" map:{2 = bb、1 = aa、5 = cc、8 =} // if( ""。equals(str.trim())){//メイン機能の出力結果をフィルターアウト、null、 "および" map = bb、1 bb、1 bb、1 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(Map); }}実行結果:
{1 = aa、2 = bb、5 = cc、6 = null、7 =、8 =}
{1 = aa、2 = bb、5 = cc、8 =}
Javaアルゴリズムの詳細については、このサイトに興味のある読者は、「Javaデータ構造とアルゴリズムのチュートリアル」、「Java操作DOMノードのヒントの要約」、「Javaファイルの要約およびディレクトリ操作のヒント」、「Java Cache操作のヒントの要約」というトピックを見ることができます。
この記事がみんなのJavaプログラミングに役立つことを願っています。