タグ付けされた質問 「collections」



8
どのようなアルゴリズムにセットが必要ですか?
私の最初のプログラミングコースでは、何かの重複を削除するなどの必要があるときは常にセットを使用するように言われました。例:ベクトルからすべての重複を削除するには、上記のベクトルを反復処理して各要素をセットに追加すると、一意のオカレンスが残ります。ただし、各elementoを別のベクトルに追加し、要素が既に存在するかどうかを確認することで、これを行うこともできます。使用する言語によってパフォーマンスが異なると思います。しかし、それ以外のセットを使用する理由はありますか? 基本的に、どのような種類のアルゴリズムがセットを必要とし、他の種類のコンテナでは実行すべきではないのですか?

4
クラスのすべてのオブジェクトを追跡する
私はオブジェクト指向プログラミングが初めてなので、この問題に遭遇し続けます。(私はJavaでプログラミングしています)このような基本的な問題のように思われるので、私はこれについて尋ねるのに少し消極的でしたが、それに関する情報や質問についてここで見つけることはできません。私が(非常に基本的なレベルで)読んだ教科書は、この問題に触れています: 多くの場合、作成されたクラスのすべてのオブジェクトを追跡して、さまざまな目的でそれらを反復処理する必要があります。彼らは私が現在プログラムを書いているように、多くのオブジェクトは他のオブジェクトからのみ参照されます。つまり、それらすべてを参照する配列やコレクションはありません。 これはOOPの非常に基本的な必要性のように思われるので、これを行うにはかなり制度化された簡単な方法があるはずだと思います。クラスのすべてのオブジェクトの個別のリストを保持することは通常の習慣ですか? 静的配列または静的コレクションについて考えました。コンストラクターを介して、作成されたすべての新しいオブジェクトが追加されます。ただし、コンストラクターは継承されないため、これはサブクラスでは機能しません。 この質問には1つの簡単な答えがないかもしれません。誰かがこの問題について少し教えてくれることを願っています。ここで中心的な知識が不足しているような気がします。

2
Eclipseコレクションを排他的に使用することに不利な点はありますか?
私のアプリケーションは非常に大きな整数のコレクションで動作するため、Eclipseコレクションはプリミティブなコレクションであるため、非常に便利なフレームワークのように見えます。私はすでにテストしましたが、パフォーマンスとメモリの大幅な改善が見られて嬉しいです-JDKコレクションを完全に廃止することを検討しているほどです(アプリケーションの一部で、改善がまったく目立たない場合でも)-ほとんど一貫性を保ち、1つのコレクションフレームワークのみを使用するため。 しかし、それは本当であるには良すぎるように聞こえるかもしれません-多分私はEclipseのJDKのコレクションを捨てることに関して重要な欠点を見逃しています。 私に起こる唯一のことは、コレクションに関して将来のJavaの更新/機能が何であれ、Eclipseがそれに適応するまで、Javaを利用できない可能性があるということです。 Eclipseコレクションに完全に移行したくない理由はありますか?

6
クラスでJavaストリームをフィルタリングする場合、instanceofの代わりはありますか?
1つのクラスを拡張するすべての型がJavaコレクションにパックされるプロジェクトで、予期しない状況が発生しました。ただし、そのクラスの特定の拡張のみに追加のメソッドが含まれています。それを「also()」と呼びましょう。他の拡張機能にはないことをはっきりさせておきます。そのコレクション内のすべてのアイテムで1つのタスクを実行する直前に、それを実装するすべてのアイテムでalso()を呼び出す必要があります。 最も簡単な方法はこれです: stuff.stream().filter(item -> item instanceof SpecificItem) .forEach(item -> ((SpecificItem)item).also())); stuff.stream().forEach(item -> item.method()); それは正常に動作しますが、「instanceof」がそこにあるのは快適ではありません。これは通常、コードの悪臭のマーカーです。このクラスを取り除くためだけにこのクラスをリファクタリングする可能性は非常に高いです。しかし、劇的なことをする前に、コミュニティに問い合わせて、StreamsまたはCollectionsのどちらかについてより経験のある人がより簡単な解決策を持っているかどうかを確認したいと思いました。 例(確かに非排他的)として、クラスによってエントリをフィルタリングするコレクションのビューを取得することは可能ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.