問題タブ [treeset]

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 投票する
2 に答える
1366 参照

java - Javaセットは異なるオブジェクトを区別できません

私は1つのクラスHumanを持っています。これには、 age(int)name(String)の2つのフィールドが含まれています。Eclipseを使用して、hashCode()メソッドとequals()メソッドをこれらの2つのフィールドでオーバーライドします。また、年齢フィールドに基づいてコンパレータを作成します。

ここで、 Comparator of ageとHumanクラスの2つのインスタンス(異なるフィールド値を持つ)を使用してTreeSetオブジェクトを作成します。次に、これら2つのオブジェクトをセットに追加しますが、セットには常に1つのオブジェクトしかありません。

問題を理解するために、これら2つのオブジェクトのハッシュ値を出力しましたが、それらが異なっていることがわかりました。次に、 equals()メソッドをテストします。フィールド値が異なる2つのインスタンスを比較すると、falseが出力されます。そのため、TreeSetが問題を処理(区別)できない理由がわかりません。誰か助けてもらえますか?どうもありがとう !

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

java - SortedSet に null を入れることはできませんか?

nullに許可されていると思いましたSet
では、なぜ次のコードを実行するのでしょうか。

次の例外を与えますか?

スレッド「メイン」での例外 java.lang.NullPointerException at
java.lang.Integer.compareTo(Unknown Source) at
java.lang.Integer.compareTo(Unknown Source) at
java.util.TreeMap.put(Unknown Source)
java. util.TreeSet.add(不明なソース)

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

java - TreeSet に追加するときの記録場所

約 20,000,000 エントリのリストがあります。約 5,000,000 のエントリが一意です。リストを反復処理し、一意のエントリを識別し、それぞれに 0 から 5,000,000 までの整数を割り当てる必要があります。

現在、各エントリを順番に TreeSet に追加し、.headSet() を使用してどこに移動したかを調べます。これは最適ではないと思います。

.add() を呼び出したときに場所を取得する方法はありますか?

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

java - アルファベット順にintキーをソートするフリーマーカーツリーセットを克服する方法は?

TreeSetがあります。

文字列キーは実際にはintの文字列値です。これは、freemarkerがintをマップへのキーとして許可していないためです。これはソートされたマップであるため、次のようにソートされます。

1
10
11
12
2
3
4
5
6
7
8
9

これを回避して番号順に印刷する方法を知っている人はいますか?

ありがとう

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

java - 手動でソートされたセットよりもツリーセットを使用する利点

コレクションでは、要件に応じてセットまたはマップを並べ替えることができます。Treeset または TreeMap もソートされたコレクションを提供します。ソートされたコレクションが必要な場合にツリーセットを使用する利点はありますか

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

java - セットと同等で同等

ポスターが抱えていた問題を正しく解決するコードをここに投稿しました。OPは、重複を削除し、特定の特別なアイテムをリストの一番上に表示したいと考えていました。私は彼らが望んでいたことを達成するために彼らが一緒に働いていたものを包んだTreeSet特別なクラスでを使用しました。ComparableLocale

それから私は...あなたがそうするように...私はメソッド0から戻ることによって重複を排除していると思いました。 (の定義から)で重複を正しく示すために必要な実装から戻ることではありません)。compareTotrueequalsSetSet

この手法を使用することに異論はありませんが、文書化されていない機能と見なされる可能性のあるものを使用していますか?このようなことを今後も続けていくと思いますか?

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

java - Java Set の奇妙な動作

ある条件に基づいて、ソートされたセットの比較可能な値を変更する必要があるという問題がありました。

このようなことをする:

SortedSet を自動的に再配置しません。

オンラインで読んで、オブジェクトをセットから削除してから再度追加する必要があることがわかりました。明らかに、セットを反復処理している間はできません。そこで、セットの Arraylist を作成することにしました。セットを null にしてから、すべての要素を再度追加して、並べ替え順序に従うようにします。私はこのようなことをしました:

SortedSet グループ。

しかし、グループセットを確認すると、オブジェクト T の序数を比較するコンパレーターに基づくソート順に従っていませんでした

しかし、私がこのようなことを試したとき:

SortedSet グループ。

期待通りの結果が得られました。誰かが私に何が起こっているのか説明できますか?

これが私のクラスTを実装した方法です

完全なプログラムを見たい人のために:

正しい結果を与えるアプローチ:

ありがとう。

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

scjp - ツリーセットのサブセット

こんにちは、このコードの出力が「ex [6, 7, b, d] [6, 7, b]」である理由を理解できません。サブセットが数字と文字をどのように扱っているか誰かアドバイスしてもらえますか? ありがとう

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

java - TreeSetインスタンスのデータの順序を逆にするにはどうすればよいですか?

ソートされた文字列のコレクションであるDictionaryというクラスがあります。このクラスはTreeSetクラスの拡張であり、ソートにComparatorを使用することを意味します。データセットの順序を逆にする逆の方法が必要ですが、TreeSetは初期化後にコンパレータを変更できないため、残念ながらこれは不可能です。this回避策として、元のコンパレータの逆バージョンを使用して新しいディクショナリインスタンスを作成しようとしましたが、新しいオブジェクトを指す方法を思い付くことができません。

これは可能ですか?多分完全に異なる解決策?

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

java - dwr でツリーセットを使用することは可能ですか?

私の問題は、DWR を使用して TreeSet を Javascript に入れようとすることです。ここに私のコード例があります:

Java コード:

コントローラ servlet.xml:

モデル.xml:

私のHtmlドキュメントで:

今私の問題は、Apacheサーバーから応答を受け取ることです:

私は自分の過ちを理解していませんでした。助けてもらえますか?dwr がツリーセットで動作しない可能性はありますか?

こんにちはマニー