コンパレータによってコレクションフィルタリングのサブセットを取得し、すべての更新を親コレクションとそのサブセットですべて変更できますか?コンパレータを使用してセットのサブセットを取得
答えて
NavigableSet.subSet()
コールが必要な場合があります。 NavigableSet
はソートセットで、基になるセットの「ビュー」であるサブセットを作成することができます。これらのビューは、セットの作成時に提供されるComparator
または値の自然順序を使用して、指定した値で囲まれます。最も一般的な実装はTreeSet
です。たとえば、あなたがこれを行うことができます:
NavigableSet<String> set = new TreeSet<>(
Arrays.asList("b", "e", "a", "d", "c"));
System.out.println(set);
を結果は、あなたが期待するよう[a, b, c, d, e]
です。ここでは出力が[b, c, d]
ある
NavigableSet<String> set2 = set.subSet("b", true, "d", true);
System.out.println(set2);
:今、あなたは、「B」から「D」を含めて、たとえば、サブセットを作成することができます。今、あなたは内部追加されていますものだけを含めるように境界の内側と外側の両方にある元のセット、サブセットのビューの変更にいくつかの要素を追加した場合:
set.add("a1");
set.add("c1");
set.add("e1");
System.out.println(set2);
を出力[b, c, c1, d]
です。
私が望むのは、 "b"から "d"までのサブセットを作成するのではなく、毎秒私のために選択するサブセット、つまりサブセットです。私は非連続的な選択は難しいので、そのような一般的なcontairnerはないと推測します。しかし、TreeSetが、要素を奇数と偶数に分割するコンパレータを持つ場合。私は、そのコンパレータを使用して最初または2番目のサブセットをします。 – userbb
@userbb OK、私はTreeSetのコンパレータがあなたが望むことができるとは思わない。コンパレータは、セット内のすべての要素の* total order *を設定します。作成時に設定されたセットの固定プロパティです。たとえば、クエリ操作内で設定することはできません。述語を持つフィルターのようなものが必要なように思えますが、ユースケースについて詳しく説明する必要があると思います。私と他の人たちはかなりの推測をしています。 –
- 1. ArrayListでコンパレータを使用して検索
- 2. オブジェクトを使用してオブジェクトのプロパティのサブセットを取得する方法
- 3. ImportJSONカスタム関数を使用してデータのサブセットを取得する
- 4. シェアポイントサイトで使用されている用語セット名を取得
- 5. Lists.partitionまたはIterable.partitionを使用してサブセットにセットを分割する
- 6. Javaのコンパレータを使用したカスタムソート
- 7. oracleプロシージャを使用した結果セットの取得
- 8. インターフェイスを使用してオブジェクトのサブセットを取る方法は?
- 9. グループ化セットを使用して電子メールの頻度を取得する
- 10. hibernateを使用してデータベースからプリミティブ型のセットを取得する
- 11. fetchmany()を使用して次の結果セットを取得する方法は?
- 12. linqを使用して複数の結果セットを取得する方法
- 13. コンパレータを使用したストリームソートメソッド
- 14. TFSソースバージョンの変更セットを取得してAssemblyInfoに適用
- 15. C2100不正な間接コンパレータとセット
- 16. HQLを使用してHibernateで結果セットを取得できません
- 17. Android/php:PDOを使用して「LIKE」を使用した結果セットを取得し、JSONを解析する
- 18. pytorchデータセットのサブセットの取得
- 19. Springでコンパレータを使用してPriorityQueueを初期化する
- 20. Rのサブセットを逆セットするR
- 21. セットのサブセットを生成する。怠惰?
- 22. バックトラッキングを使用したサブセット
- 23. R:ddply内のサブセットの長さを取得
- 24. SortedDictionaryのサブセットをSortedDictionaryとして取得する
- 25. Slick 3.1 - ケースクラスとして列のサブセットを取得する
- 26. namedtupleのサブセットからdictを取得
- 27. リストのサブセットを取得する方法
- 28. TADOQuery:パラメータとしてnullを渡して結果セットを取得
- 29. コンパレータ関数を使用してソートする
- 30. サブセットであるセットを削除する
あなたのコレクションに「トリガ」を追加することは、リストに追加されている要素をフィルタリングすることですか? –
これは、クラスがある種のobservable-interfaceを実装しなければならないので、これは通常のコレクションではできないと思います。どちらかというと、元のコレクションで何か変更があった場合に備え、毎回すべての要素をテストする必要があります。 –
'NavigableSet.subSet()'は何をしますか? –