問題タブ [linkedhashset]
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.
java - linkedHashSetへの挿入を注文しました。パフォーマンスの高い方法はありますか?
だから私はLinkedHashSetを持っており、値はa1、a2、、b、c1、c2と言っています
xの順序がbの順序と同じになるように、bをxに置き換えたいと思います。
1つの明白な方法は
これはO(n)であるだけでなく、これが最速の方法ではないと感じています。より良い解決策はありますか?注:linkedHashMapを使用する必要があります。
java - Javaでセットのサブセットを作成する
私は LinkedHashSet、つまり順序集合を持っています。セットのサブセット、つまりセットの最初の20要素を返す関数を見つけようとしています。新しいセットを作成し、最初のセットの反復を使用してデータを入力することでそれができることはわかっていますが、もっと簡潔なものを望んでいました。
また、GoogleのGuavaライブラリも調べましたが、必要なものが見つかりませんでした。
java - java LinkedHashSet
私はOCJP(旧SCJP)のために勉強していて、LinkedHashSetを使用する次の例に出くわしました:
ここで、問題は次の場合に表示される内容です:
1) 実装はそのまま
2) hashCode のオーバーライドがクラス Test に次のように挿入されます。
コードを実行してコンパイルすると、最初のケースでは set のサイズが 3 であるのに対し、2 番目のケースでは 2 であることが示されます。なぜですか?
ケース 1 では、equals メソッドはオーバーライドされますが、呼び出されることはありません。hashCode メソッドがオーバーライドされていない場合、add() メソッドはオブジェクトの等価性をチェックしないということですか?
ケース 2 では、指定された実装と指定された Test オブジェクトのセットを持つ hashCode は、常に同じ数値を返します。これはデフォルトの hashCode 実装とどのように違うのでしょうか? また、なぜ equals が呼び出されるのでしょうか?
java - JTable - チェック ボックスとして表示するブール値であり、編集可能である必要があります
わかりましたので、Books の LinkedHashSet から入力した JTable があります。
私の問題は、4番目のコロムにブール値のステータスをチェックボックスとして表示させ、ステータスをLinkedHashSetに保存してテーブルを更新した後に変更できるようにすることです。
初心者で申し訳ありませんが、アドバイスいただけると助かります。
java - LinkedHashSet Equals メソッド
私は 2 セットのLinkedHashSetオブジェクトを持っています。このオブジェクト内には、より多くのオブジェクトを持つ他のオブジェクトがありますLinkedHashSet。
私の質問は:
メソッド (デフォルト) は、内部がすべて同じかどうequalsかをチェックしますか? HashSetsそれとも上書きする必要がありますか?
java - LinkedHashSet 変更セット
次のコードがあります。
set2 を変更すると、set1 も文字列 "test" と "bogus" で変更されます。したがって、両方のセットを比較すると、それらは常に等しくなります (compare()各セットの文字列が等しいかどうかを比較します)。
私の質問は:
私の理解ではJavaは値渡しですが、参照渡しだったようです。誰かが理由を理解するのを手伝ってくれますか? また、セットを一時セットにコピーし、セットを変更して最初のセットを変更しないようにするにはどうすればよいですか?
ここで非常に単純なものが欠けているように感じます。
java - LinkedHashSet の反復時間がその容量に依存しないのはなぜですか?
LinkedHashSet(LHS)クラスのJava ドキュメントから:
LinkedHashSet の反復には、容量に関係なく、セットのサイズに比例する時間が必要です。HashSet の反復は、その容量に比例して時間がかかるため、よりコストがかかる可能性があります。
私の質問は、LHS の反復時間がセットの容量に影響しないのはなぜですか?
java - カスタム ArrayList を LinkedHashSet に変換する
ArrayAdapter<Summary>イベントのリストを保持するカスタムがあります。に重複した値があるため、 toList<Summary>の値を入力しようとしていますが、空白のページが表示されます。List<Summary>LinkedHashSet<Summary>
ArrayListカスタムを変換しLinkedHashSetて一意のデータを取得するにはどうすればよいですか?
Main.java:
ArrayAdapter.java:
java - Java LinkedHashSet は最後からいくつかの要素を削除します
重複なしと順序の維持の要件を持つ要素を保存する必要があるという問題に取り組んでいます。LinkedHashSet私の両方の要件を満たしていたので、私は一緒に行くことにしました。
このコードがあるとしましょう:
これらの要素を削除するロジックを教えてください。
間違ったデータ構造を使用していますか? もしそうなら、より良い代替手段は何ですか?
java - LinkedHashSet の入力に関する奇妙な問題
以下のコードを考えると、最後の if-else ステートメントが else 句にステップインするときに、2 行のコードのコメントを外し、「FOOZANAZABAR」と「TESTCAIRO」の行にコメントを付けると、追加されない理由がありますか?これらの行を LinkedHashSet に追加しますか? values.add(new BigDecimal(PEUNIT).multiply(new BigDecimal(1000)).toString()); を追加するようです。ロジックがelse句に落ちたときは正しくなりますが、BD.ZEROまたはPEFAMTが文字列であるという事実にもかかわらず、そのフィールドに追加されません。
注として、ZERO と PEFAMT は文字列に変換される BigDecimal です。これらは、私を悲しませている唯一の 2 つの値です。どんな方向性でも大歓迎です。
前もって感謝します。
- ジョシュ