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

コレクションAPIは、オブジェクトのコレクションの処理を容易にする一連のクラスとインターフェースを開発者に提供します。

4
Collection.stream()。forEach()とCollection.forEach()の違いは何ですか?
で.stream()、.filter()並列ストリームのようなチェーン操作を使用できることを理解しています。しかし、小さな操作(たとえば、リストの要素の印刷)を実行する必要がある場合、それらの違いは何ですか? collection.stream().forEach(System.out::println); collection.forEach(System.out::println);

9
タプルのリストを簡単に初期化する方法は?
タプル大好きです。これらを使用すると、構造体やクラスを記述しなくても、関連情報をすばやくグループ化できます。これは、非常にローカライズされたコードをリファクタリングするときに非常に役立ちます。 ただし、それらのリストの初期化は少し冗長に思われます。 var tupleList = new List<Tuple<int, string>> { Tuple.Create( 1, "cow" ), Tuple.Create( 5, "chickens" ), Tuple.Create( 1, "airplane" ) }; もっと良い方法はありませんか?辞書イニシャライザに沿った解決策が欲しいです。 Dictionary<int, string> students = new Dictionary<int, string>() { { 111, "bleh" }, { 112, "bloeh" }, { 113, "blah" } }; 同様の構文を使用できませんか?


10
.NET HashTableとディクショナリ-ディクショナリを同じくらい高速にできますか?
辞書またはハッシュテーブルをいつ、なぜ使用するのかを理解しようとしています。私はここで少し検索を行ったところ、私が完全に同意するディクショナリの一般的な利点について話している人を見つけました。 しかし、私はまた、ディクショナリを読んだところ、オブジェクトが挿入された順序で返されるとは限りません。HashTableが行う場所。私が理解しているように、これによりHashTableが状況によってははるかに高速になる。 私の質問は本当に、それらの状況は何でしょうか?上記の仮定が間違っていますか?どちらを選択するのにどのような状況を使用できますか(はい、最後の1つは少しあいまいです)。

8
Intersect()の反対
次のように、Intersectを使用して2つのコレクション間の一致を見つけることができます。 // Assign two arrays. int[] array1 = { 1, 2, 3 }; int[] array2 = { 2, 3, 4 }; // Call Intersect extension method. var intersect = array1.Intersect(array2); // Write intersection to screen. foreach (int value in intersect) { Console.WriteLine(value); // Output: 2, 3 } ただし、私が達成したいのはその逆です。あるコレクションのアイテムのうち、他のコレクションにはないものをリストしたいと思います。 // Assign …

19
ArrayListを複製し、その内容を複製する方法は?
ArrayListJavaでのクローンを作成し、そのアイテムをクローンするにはどうすればよいですか? たとえば、私は持っています: ArrayList<Dog> dogs = getDogs(); ArrayList<Dog> clonedList = ....something to do with dogs.... そして、私はのオブジェクトclonedListが犬のリストと同じではないことを期待します。

9
2つのArrayListを同じ方法でランダム化する方法は?
2つのarraylistがfilelistありimgList、互いに関連しています。たとえば、「e1.jpg」に関連する「H1.txt」です。のランダム化imgListに従ってリストを自動的にランダム化する方法はfileList?Excelのように、特定の列をソートすると、他の列が自動的に続きますか? String [] file = {"H1.txt","H2.txt","H3.txt","M4.txt","M5.txt","M6.txt"}; ArrayList<String> fileList = new ArrayList<String>(Arrays.asList(file)); String [] img = {"e1.jpg","e2.jpg","e3.jpg","e4.jpg","e5.jpg","e6.jpg"}; ArrayList<String> imgList = new ArrayList<String>(Arrays.asList(img)); //randomized files Collections.shuffle(fileList); ランダム化後の出力: fileList = {"M4.txt","M6.txt","H3.txt","M5.txt","H2.txt","H1.txt"}; 意図した出力: imgList = {"e4.jpg","e6.jpg","e3.jpg","e5.jpg","e2.jpg","e1.jpg"};

8
C#で角かっこ演算子をオーバーロードするにはどうすればよいですか?
たとえば、DataGridViewを使用すると、次のことができます。 DataGridView dgv = ...; DataGridViewCell cell = dgv[1,5]; しかし、私の人生では、index / square-bracket演算子に関するドキュメントを見つけることができません。彼らはそれを何と呼びますか?どこに実装されていますか?投げられますか?自分のクラスで同じことをするにはどうすればよいですか? ETA:迅速な回答をありがとうございます。簡単に言うと、関連するドキュメントは "Item"プロパティの下にあります。オーバーロードする方法は、次のようなプロパティを宣言することですpublic object this[int x, int y]{ get{...}; set{...} }。少なくともドキュメントによると、DataGridViewのインデクサーはスローしません。無効な座標を指定するとどうなるかについては触れられていません。 ETA再度:OK、ドキュメントでは言及されていません(いたずらなMicrosoft!)が、無効な座標を指定すると、DataGridViewのインデクサーが実際にArgumentOutOfRangeExceptionをスローすることがわかります。公正警告。

16
2つの異なるリストにまったく同じ要素が含まれているかどうかを確認する簡単な方法は?
標準Javaライブラリで、2つのリストにまったく同じ要素が含まれているかどうかを確認する最も簡単な方法は何ですか? 2つのリストが同じインスタンスであるかどうかは関係ありません。また、リストのtypeパラメータが異なるかどうかは関係ありません。 例えば List list1 List<String> list2; // ... construct etc list1.add("A"); list2.add("A"); // the function, given these two lists, should return true おそらく私が知っている顔に私を見つめている何かがあるでしょう:-) 編集:明確にするために、正確に同じ要素と要素の数を順番に探していました。
253 java  collections 

15
Javaで逆の順序でリストを反復する
ジェネリックを利用するためにコードの一部を移行しています。これを行うための1つの引数は、forループの方がインデックスを追跡したり、明示的なイテレータを使用したりするよりもはるかにクリーンであることです。 約半分のケースで、リスト(ArrayList)は、今日インデックスを使用して逆の順序で反復されています。 誰かがこれを行うよりきれいな方法を提案できますかindexed for loop? for (int i = nodes.size() - 1; i >= 0; i--) { final Node each = (Node) nodes.get(i); ... } 注: JDKの外部に新しい依存関係を追加することはできません。
251 java  collections 



5
List <T>は挿入順序を保証しますか?
リストに3つの文字列があるとします(例: "1"、 "2"、 "3")。 次に、それらを並べ替えて、位置2に「2」を配置します(たとえば、「2」、「1」、「3」)。 私はこのコードを使用しています(indexToMoveToを1に設定): listInstance.Remove(itemToMove); listInstance.Insert(indexToMoveTo, itemToMove); これは機能するようですが、時々奇妙な結果が出ます。時々、注文が間違っているか、リストのアイテムが削除されています! 何か案は?いList&lt;T&gt;保証順序は? 関連: List &lt;T&gt;は、アイテムが追加された順に返されることを保証しますか?
238 c#  .net  collections 

18
java.util.Setにget(int index)がないのはなぜですか?
正当な理由があると私は確信していjava.util.Setますがget(int Index)、誰かがインターフェイスやその他の同様のget()方法が欠けている理由を誰かに説明してもらえますか? セットは物を入れるのに最適のようですが、そこから1つのアイテムを取得するためのエレガントな方法が見つかりません。 最初のアイテムが必要なことがわかっている場合はを使用できますがset.iterator().next()、それ以外の場合は、特定のインデックスのアイテムを取得するために配列にキャストする必要があるようです。 セットからデータを取得する適切な方法は何ですか?(イテレータを使用する以外) それがAPIから除外されているという事実は、これを行わないことには十分な理由があることを意味します-誰かが私を啓発してくれませんか? 編集: ここでいくつかの非常に素晴らしい答え、そしていくつかは「より多くのコンテキスト」と言っています。特定のシナリオはdbUnitテストで、クエリから返されたセットには1つのアイテムしかないと合理的に主張でき、そのアイテムにアクセスしようとしました。 ただし、問題はより集中しているため、シナリオがなくてもより有効です。 セットとリストの違いは何ですか。 以下の素晴らしい答えをありがとう。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.