0

Pythonでは、標準の「リスト」、「タプル」、「セット」、「辞書」を知っていれば、かなり遠くまで行くことができます。これらは、まともなPythonプログラマーが知っておくべき基本的なデータ構造です。

これらのデータ構造に相当するJavaは何ですか?また、注目に値する他のデータ構造はありますか?

4

4 に答える 4

1

悲しいことに、Javaにはネイティブのタプルがありません。ほとんどの場合、次のように使用します。

  • リスト:ArrayList(リストであり、リストはコレクションです)
  • セット:HashSet(セットであり、セットはコレクションです)
  • 辞書:HashMap(マップですが、マップはコレクションではありません)

一般的なJavaコレクションをご覧ください:http ://docs.oracle.com/javase/tutorial/collections/index.html 並行性について:http://docs.oracle.com/javase/tutorial/essential/concurrency/collections .html

多くの外部ライブラリがあります(Guava、Apache、...)

于 2013-02-28T11:07:03.607 に答える
0

LinkedList、HashMap、HashSetを使用して多くのことを実行でき、辞書http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Dictionary.htmlもあります。

新しい言語を学ぶ最良の方法は、コードを読むことです。GitHubは、大量のオープンソースJavaアプリケーションをホストしています。最新情報はこちらで確認できます:https ://github.com/languages/Java

于 2013-02-28T11:09:18.470 に答える
0

これは役に立ちますか?

Java には、set、list、HashMapを含むすべてのデータ構造がJava Collections Frameworkで定義されています。HashMap は本質的に辞書と同等です。

タプルに相当するものについては、 unmodifiableList を調べてください

于 2013-02-28T11:11:01.473 に答える
0

Java では、彼は万能のツールであるclassを持っています。Python ではタプルまたはディクショナリを使用して解決するほとんどの問題について、Java では、インスタンス変数、コンストラクター、getter、および setter を使用してカスタム クラスを記述します。したがって、Java を使用するときは、ボイラープレートを作成する準備をしてください。

データ構造に関する限り、デフォルトのものはArrayListHashSet、およびHashMapです。ソートされたバージョンがあります:TreeSetおよびTreeMap—必要な場合、非常に便利です。

金属に近いパフォーマンスが必要な場合は、アレイに頼ります。

Java では、組み込みの同時実行性も利用できますが、複雑になりますConcurrentHashSet/Map。プレーン コレクションのラッパーのようなパフォーマンス オプションや、同期されたラッパーもありますCollections/synchronizedSet/Map/List(これらは、ラッピング オブジェクトを返すメソッドです)。

于 2013-02-28T11:11:16.030 に答える