問題タブ [linkedhashmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
1115 参照

android - XmlPullParser を使用して xml を解析する方法

XmlPullParser を使用して、xml ファイルをそのような形式で解析しようとしています

以下は、私が開発しようとしているコードです。私がやりたいことは、データを配列に入れ、データを呼び出して後で使用できるようにすることです。私の目的に合わせてコードを変更する方法についてアドバイスをいただけますか?

データを取り戻すためのコード[方法がわかりません。以下は私の考えです]

0 投票する
2 に答える
1035 参照

java - LinkedHashMapの読み取り時にJavaが文字列から整数に自動的にキャストするのはなぜですか

Java アプリケーションが奇妙な動作を示しており、解決策を見つけるのに苦労しています。

このコード スニペットはLinkedHashMap、キーと値の両方が型である a の内容を取得Stringし、それらをテキスト ファイルに書き込みます。configWriterタイプPrintWriterです。

マップは次のように宣言されました。

Scannerこれは、クラスを使用してテキスト ファイルからトークンを読み取ることによって生成されます。

マップ内の値の 1 つは、String数値 (整数) のみを含む ですが、ループがこの値に到達すると、 from から にキャストできないというメッセージがスローされClassCastExceptionます。これは完全に理にかなっていますが、値の型は String です。IntegerString

Javaにこの値を強制的に保持させる方法はありStringますか?

0 投票する
3 に答える
2517 参照

java - LinkedHashMapのサブセットを取得し、順序を保持します

HashMapとは異なり、LinkedHashMapでは順序が重要です。そして、ここでの順序は挿入順序です。

次のようなLinkedHashMapがあるとします(上から下に並べられ、左側がキー、右側が値です)。

1:「1つ」

2:「2つ」

3:「3」

4:「4」

次に、キーのリストがあります。これには、たとえば(3,1)が含まれています。

私がやりたいのは、LinkedHashMapを順番にループして、キーがリストにあるエントリを選択することです。

したがって、私が望む結果は次のとおりです(フィルタリング前の順序であるため、1はまだ3より前です):

1:「1つ」

3:「3」

これが私のコードです:

上記のコードは私が好きな結果を返します。しかし、それが保証されているかどうかはわかりません。

1:「1つ」

3:「3」

問題は次のとおりです。イテレータitr=linkedHashMap.keySet()。iterator(); 上記の行はセットからイテレータを取得し、セットは注文されていません。それで、これはランダムな順序でキーを引き起こしますか?はいの場合、フィルタリング後にマップの元の順序(保証されていません)を維持できません。...誰かがこれを手伝ってくれますか?

0 投票する
4 に答える
24798 参照

java - LinkedHashMap LIFOまたはFIFO?

LinkedHashMap は本質的に LIFO または FIFO ですか? 私のマップが次の形式の場合:

キーセットを使用してマップを反復する場合、順序はどうなりますか??

編集:私は実際に2つの異なる概念を混同したと思います. 質問を言い換えさせてください。entryset を使用して数量に遭遇する順序はどうなりますか?ところで、それを指摘してくれてありがとう。エントリを削除するつもりはありません。

0 投票する
1 に答える
1399 参照

android - AndroidのJSONLinkedHashMapオブジェクトのエスケープを置き換える

私はAndroidでこのコードを持っています:

.putjsonオブジェクトは、メソッドを介して他のものも追加します。「ParticipantIds」キーで混乱しているだけです。

出力

出力

jsonオブジェクトに渡された\ときにjsonオブジェクトのオカレンスを削除する必要があります。idObject1必ずしもGsonを使用する必要はありません。私はそれを機能させるためにGsonを使用しただけです。私も試しました:

そして、JSON-Simpleを使用してそれを渡してみました。私は常に\エスケープ文字を取得します。私はそれをやってみて.toString()idObject1それからあらゆる方法.replace.replaceAll方法をやってみました。動作しません!

0 投票する
1 に答える
4834 参照

java - JSPのLinkedHashMapでforeachループを実行するには?

私はjspの経験があまりありません。Javaではできますが、ブロックを開くのは良くありません <% %>

0 投票する
2 に答える
777 参照

java - ArrayList内のLinkedHashMapで値を検索して割り当てる別の方法

以下にコードが表示されていますが、正常に機能しています。しかし、これを実装する他の方法があるかどうか疑問に思いましたか?基本的に、私が4つのループで行っているのは、SeqGenerateのString / Elementを使用して一致が見つかった場合に、配列リスト内のリンクされたハッシュマップであるCopyMatrixのキーに新しい値を比較して割り当てることです。私はループでもある別の解決策を持っていましたが、それは機能していなかったので、これで立ち往生していて、より少ないループまたはおそらく他のいくつかの技術でこれを行う他の方法があるかどうか疑問に思っています。

編集

SeqGenerateにはこの要素が含まれています
ArrayList--------String
(1)Hello World = {He el ll lo o_ _W Wo or rl ld}

(2)Hello Earth = {He el ll lo o_ _E Ea ar rt th}

HelloWorldとHelloEarthは、SeqGenerateに含まれるテキストの種類の例ですが、私が説明したように、これらは2文字のシーケンスとして格納されます。copyOfMatrixには同じ種類のシーケンスが含まれていますが、別の文とテキストのセットから生成しましたが、一致するものが見つかった場合に値を比較して置き換える2文字のシーケンスです。

したがって、ネストされたループ内の要素を比較する方法を知っているのは、forループを作成することだけです。たとえば、seqGenerate要素0の要素1を、コピー行列に格納されているキーと比較します。一致するものが見つかった場合は、値を置き換えます。これが十分に明確であることを願っています。

御時間ありがとうございます!

0 投票する
2 に答える
736 参照

scala - ScalaでLinkedHashMapに追加するための回避策?

私は典型的な方法で使用してきた LinkedHashMap を持っています: 新しいキーと値のペアを最後に追加し、挿入順にアクセスします。ただし、マップの「先頭」にペアを追加する必要がある特別なケースがあります。これを行うための LinkedHashMap ソース内にいくつかの機能があると思いますが、プライベートなアクセシビリティがあります。

新しいマップを作成し、ペアを追加してから、すべての古いマッピングを追加するソリューションがあります。Java 構文:

できます。しかし、ここでの問題は、メインのデータ構造 (this.map) を val ではなく var にする必要があることです。

誰もがより良い解決策を考えることができますか? Map コレクションによって提供される高速ルックアップ機能が絶対に必要であることに注意してください。プリペンディングのパフォーマンスはそれほど大したことではありません。

より一般的に言えば、Scala 開発者として、このような場合に var を回避するのにどれだけ苦労するでしょうか? LinkedHashMap の独自のバージョンを作成しますか? はっきり言って面倒くさい。

0 投票する
2 に答える
2571 参照

java - LinkedHashMap removeEldestEntry: いくつの要素が削除されましたか?

LinkedHashMapLRU キャッシュを実装するのは素晴らしいようです。リンクされたリストの管理に関してオーバーヘッドがあり、スレッドセーフではありませんが、実装が簡素化され、コードでこれらを処理できます。

removeEldestEntry が実装されていて、リストがいっぱいである場合に、LinkedHashMap がリストから削除する要素の数です。

要素を 1 つだけ削除しますか? または合計サイズの何パーセントか。私の懸念は、新しい要素を配置するために要素を1つだけ削除すると、実際のパフォーマンスの問題になることです。ご覧のとおり、再ハッシュ操作には非常にコストがかかります。

誰かがそれがどのように機能するかを提案してください。これらを管理できる場合は、InitialCapacity、LoadFactor、またはその他の方法を使用して要素を削除してください。

0 投票する
5 に答える
3845 参照

java - 同期され、並べ替えられたマップオブジェクト(LinkedHashTable)はありますか?

servlet.Filterサーブレットにリクエストを送信する前に、IPアドレスに基づいてデータベース内のユーザーIDを検索する実装を作成しています。

データベースで検索されている同じIPアドレスからの要求がすでに存在する場合、フィルターが着信要求をマップのようなオブジェクトに隠しておく必要があります。次に、データベースから応答を受け取ったら、それをそのIPアドレスのすべての要求に適用し、サーブレットに送信します。

マップのようなオブジェクトは同期する必要がありますが、挿入順序も維持する必要があります。これにより、ユーザーIDを見つけると、すべての隠し要求が「受信された順序で処理される」ようになります。

APIを通過するLinkedHashMapと、順序は正常に維持されますHashTableが同期されません。は同期されますが、正しい順序を維持することを示すものはありません。

LinkedHashTableこれに使用できるオブジェクトはありますか?

私はJava6を使用しています。