地図を横断する 5 つの方法の紹介
マップ コレクションのトラバーサルは日常の開発でよく使用されます。いくつかのトラバーサル メソッドの違いを以下に紹介します。
(推奨チュートリアル: java コース)
1. イテレータのentrySetの書き方 [JDK8以下で推奨]、Map.EntryはMapの内部インターフェースです。インターフェイスを作成し、イテレータを取得します。次に、各イテレータの Map.Entry
Iterator<Map.Entry<Integer,String>> iterator=map.entrySet().iterator(); while(iterator.hasNext()){ Map.Entry<Integer,String> entry=iterator1.next(); System.out.println(entry.getKey()); System.out.println(entry.getValue()); }
2 を順番に取り出します。イテレータ キーセットの書き方 [推奨されません。キーを取得することしかできず、その後、対応する値を取得することはできません。キーを入力し、計算を繰り返します]
Iterator<Integer> iterator=map.keySet().iterator(); while (iterator.hasNext()){ Integer key=iterator.next(); System.out.println(key); System.out.println(map.get(key)); }
3. Foreach トラバーサル方法 [JDK8 以下での推奨記述方法]
for(Map.Entry<Integer,String> entry:map.entrySet()){ System.out.println(entry.getKey()); System.out.println(entry.getValue()); };
4. ラムダ式トラバーサル [JDK8 推奨記述方法、簡単]
map.forEach((key,value)->{ System.out.println(key); System.out.println(value); });
5. Stream ストリーム トラバーサル Map [JDK8 では非推奨の記述方法] 、繰り返し計算]
map.entrySet().stream().forEach((Map.Entry<Integer, String> entry) -> { System.out.println(entry.getKey()); System.out.println(entry.getValue()); });
Map コレクションに中間処理がある場合はフィルタリング操作が可能で、ストリーミング トラバーサルは可能です。もとても便利です。
関連する推奨事項: Java 入門チュートリアル
以上が地図を横断する 5 つの方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











application.yml はリスト コレクションを定義します。最初の方法は、@ConfigurationProperties アノテーションを使用して、リスト コレクション type:code:status:-200-300-400-500 のすべての値を取得することです。エンティティ クラスを記述しますここで注意が必要なのは、リスト Collection の定義では、まず設定クラス Bean を定義し、次に @ConfigurationProperties アノテーションを使用してリストコレクションの値を取得することです。 @Component はエンティティ クラスを Spring 管理 @ConfigurationPropertie に引き渡します。

1. 技術的背景 実際のプロジェクト開発では、システムの可用性と堅牢性を向上させるためにキャッシュ ミドルウェア (redis、MemCache など) を使用することがよくあります。ただし、多くの場合、プロジェクトが比較的単純であれば、キャッシュを使用するために Redis などのミドルウェアを特別に導入してシステムの複雑さを増大させる必要はありません。それでは、Java 自体には便利な軽量キャッシュ コンポーネントがあるのでしょうか?答えはもちろん「はい」であり、方法は複数あります。一般的なソリューションには、ExpiringMap、LoadingCache、および HashMap ベースのパッケージ化が含まれます。 2. 古い削除戦略、ホットスポット データのウォームアップなど、キャッシュの一般的な機能を実現するための技術的効果 3. ExpiringMap3。

方法 1. HashtableMapashtable=newHashtable(); を使用する これは誰もが最初に考えることですが、なぜスレッドセーフなのでしょうか?次に、そのソース コードを見てみましょう。put、get、containsKey などの一般的に使用されるメソッドはすべて同期していることがわかります。そのため、スレッドセーフである publicsynchronizedbooleancontainsKey(Objectkey){Entrytab[]=table;inthash=key。 hashCode( );intindex=(hash&0x7FFFFFFF)%tab.leng

Javabean とマップを変換するには、次のようなさまざまな方法があります: 1. ObjectMapper を介して Bean を json に変換し、次に json をマップに変換します。しかし、この方法は複雑で非効率です。テスト後、10,000 個の Bean がループで変換されました。 12秒かかります! ! ! 2. Java リフレクションを通じて Bean クラスの属性と値を取得し、マップに対応するキーと値のペアに変換する この方法は次善の方法ですが、少し面倒です。 3. クラスの net.sf.cglib.beans.BeanMap メソッドを使用するこのメソッドは非常に効率的ですが、2 番目のメソッドとの違いは、キャッシュを使用するため、最初に Bean を初期化する必要があることです。作成した。

Go 言語マップのパフォーマンスの最適化 Go 言語では、マップは非常に一般的に使用されるデータ構造であり、キーと値のペアのコレクションを保存するために使用されます。ただし、大量のデータを処理すると、マップのパフォーマンスが低下する可能性があります。マップのパフォーマンスを向上させるために、いくつかの最適化措置を講じてマップ操作の時間の複雑さを軽減し、それによってプログラムの実行効率を向上させることができます。 1. マップ容量の事前割り当て: マップを作成するときに、容量を事前に割り当てることで、マップの拡張回数を減らし、プログラムのパフォーマンスを向上させることができます。一般的に、私たちは

Map ディレクティブは ngx_http_map_module モジュールを使用します。デフォルトでは、nginx は人為的に --without-http_map_module を指定しない限り、このモジュールをロードします。 ngx_http_map_module モジュールは、その値が他の変数の値に関連付けられた変数を作成できます。複数の値を分類したり、複数の異なる値に同時にマッピングしたり、変数に保存したりすることができます。マップ ディレクティブは変数の作成に使用されますが、変数が受け入れられた場合にのみビュー マッピング操作を実行します。変数を参照しないリクエストを処理する場合、このモジュールにはパフォーマンス上の欠点はありません。 1.ngx_http_map_module モジュール命令説明マップの構文

2 つの方法: 1. 「for range」ステートメントを使用してマップを走査し、すべての要素を取得します。構文は「for key, value := range mapName{...}」です。 2. key をインデックスとして使用して、指定された要素を取得します。構文は "value, isOk := mapName[key]" です。2 つの戻り値を返します。最初の戻り値は取得された値です。キーが存在しない場合は、return します。空の値。2 番目のパラメータはブール値で、値が正常に取得されたかどうかを示します。

Go の関数にマップを渡すと、デフォルトでコピーが作成され、コピーへの変更は元のマップには影響しません。元のマップを変更する必要がある場合は、ポインタを介してそれを渡すことができます。空のマップは技術的には nil ポインターであり、空ではないマップを期待する関数に空のマップを渡すとエラーが発生するため、空のマップは慎重に扱う必要があります。
