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

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

12
HashSetとリストのパフォーマンス
総称HashSet<T>クラスの検索パフォーマンスが総称クラスの検索パフォーマンスよりも高いことは明らかですList<T>。ハッシュベースのキーをList<T>クラスの線形アプローチと比較するだけです。 ただし、ハッシュキーの計算自体にいくつかのCPUサイクルがかかる場合があるため、少量のアイテムの場合、線形検索はの実際の代替となりHashSet<T>ます。 私の質問:損益分岐はどこですか? シナリオを簡略化するために(そして公平を期すために)、List<T>クラスが要素のEquals()メソッドを使用してアイテムを識別すると仮定しましょう。




29
Javaでマップ値をインクリメントする最も効率的な方法
この質問がこのフォーラムにとってあまりにも基本的であるとは考えられないことを願っていますが、わかります。何度も実行されているパフォーマンスを向上させるために、コードをリファクタリングする方法を知りたいです。 Map(おそらくHashMap)を使用して単語頻度リストを作成しているとします。各キーは、カウントされている単語を含む文字列であり、値は、単語のトークンが見つかるたびに増加する整数です。 Perlでは、そのような値を増やすのは簡単です。 $map{$word}++; しかし、Javaでは、はるかに複雑です。ここで私が現在やっている方法: int count = map.containsKey(word) ? map.get(word) : 0; map.put(word, count + 1); もちろん、どちらが新しいJavaバージョンのオートボクシング機能に依存しています。そのような値を増やすより効率的な方法を提案できるかどうか疑問に思います。コレクションフレームワークを避け、代わりに何か他のものを使用することには、パフォーマンス上の理由さえありますか? 更新:いくつかの回答のテストを行いました。下記参照。

18
ArrayListをソートする方法は?
Javaのdoubleのリストがあり、ArrayListを降順に並べ替えたい。 入力ArrayListは次のとおりです。 List<Double> testList = new ArrayList(); testList.add(0.5); testList.add(0.2); testList.add(0.9); testList.add(0.1); testList.add(0.1); testList.add(0.1); testList.add(0.54); testList.add(0.71); testList.add(0.71); testList.add(0.71); testList.add(0.92); testList.add(0.12); testList.add(0.65); testList.add(0.34); testList.add(0.62); アウトプットはこんな感じ 0.92 0.9 0.71 0.71 0.71 0.65 0.62 0.54 0.5 0.34 0.2 0.12 0.1 0.1 0.1


23
セットから要素を取得する
Set別の要素と等しい要素を取得する操作を提供しないのはなぜですか? Set<Foo> set = ...; ... Foo foo = new Foo(1, 2, 3); Foo bar = set.get(foo); // get the Foo element from the Set that equals foo にSetと等しい要素が含まれているかどうかを確認できますが、barなぜその要素を取得できないのですか?:( 明確にするために、equalsメソッドはオーバーライドされていますが、すべてではなく、フィールドの1つだけをチェックしています。したがって、Foo等しいと見なされる2つのオブジェクトは実際には異なる値を持つ可能性があるため、を使用することはできませんfoo。
323 java  collections  set  equals 

6
Python:defaultdictのdefaultdict?
defaultdict(defaultdict(int))次のコードを機能させるためにを持っている方法はありますか? for x in stuff: d[x.a][x.b] += x.c_int dx.aおよびx.b要素に応じて、アドホックで構築する必要があります。 私は使うことができます: for x in stuff: d[x.a,x.b] += x.c_int しかし、それから私は使うことができません: d.keys() d[x.a].keys()

9
Java順序付けマップ
Javaでは、キーと値のペアを格納およびアクセスするためのマップのように機能するが、キーと値のリストが同じ順序になるように、キーの順序付きリストと値の順序付きリストを返すことができるオブジェクトはありますか? コードによる説明として、私は架空のOrderedMapのように動作するものを探しています。 OrderedMap<Integer, String> om = new OrderedMap<>(); om.put(0, "Zero"); om.put(7, "Seven"); String o = om.get(7); // o is "Seven" List<Integer> keys = om.getKeys(); List<String> values = om.getValues(); for(int i = 0; i < keys.size(); i++) { Integer key = keys.get(i); String value = values.get(i); Assert(om.get(key) == value); }
322 java  collections 


5
ScalaでのSeqとListの違い
多くの例で、Seqが使用されていることもあれば、リストが使用されていることもありました... 前者がScala型であることとJavaからのリストである点以外に違いはありますか?
299 list  scala  collections  seq 

8
コレクションをリストに変換する方法は?
ApacheコレクションライブラリTreeBidiMapから使用しています。これを次の値で並べ替えます。doubles 私の方法は、以下を使用しCollectionて値のを取得することです: Collection coll = themap.values(); これは自然にうまくいきます。 主な質問:次に、どのように変換/キャストして(どちらが正しいかわからない)collをListソートできるようにしたいのですが? 次に、並べ替えられたListオブジェクトを反復処理します。これは順序どおりであり、イテレータがのリストで使用される場所を使用してTreeBidiMap(themap)から適切なキーを取得します。themap.getKey(iterator.next())doubles



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