Collection インターフェースと Map インターフェースの概要
Java コレクションはコンテナのようなもので、あらゆる種類のデータを保存できます。 Java では、通常、コレクション クラスは Java.util パッケージに存在します。
(推奨チュートリアル: java 入門チュートリアル )
Java コレクションは主に、コレクション システムとマップ システムという 2 つの主要なシステムで構成されます。このうち、Collection システムと Map システムは、それぞれ 2 つのシステムの最上位インターフェイスです。
Collection には主に、List、Set、Queue という 3 つのサブインターフェイスがあります。
順序付きで繰り返し可能: リスト、キュー
順序なしで繰り返し可能: Set
コレクション インターフェイス
1. リストには順序があり、繰り返し可能
1. ArrayList
利点: 基礎となるデータ構造は配列であるため、クエリは高速ですが、追加と削除は低速です。
欠点: スレッド安全ではありませんが、効率は高いです。
2. Vector
利点: 基礎となるデータ構造は配列であるため、クエリは高速ですが、追加と削除は低速です。
短所: スレッド セーフ、低効率
3. LinkedList
長所: 基礎となるデータ構造は配列であり、クエリは遅く、ブロックの追加と削除が行われます。
欠点: スレッドは安全ではありませんが、効率は高くなります
2. セットは順序付けされておらず、唯一のものです
1.HashSet
基礎となるデータ構造はハッシュですテーブル。 (順序なし、一意)
要素の一意性を保証する方法は?
2 つのメソッドに依存します: hashCode() と equals()
2、LinkedHashSet
基礎となるデータ構造はリンク リストとハッシュ テーブルです。 (FIFO 挿入は順序付けされ、一意です)
Ⅰ. 要素はリンク リストによって順序付けされることが保証されます
II. 要素はハッシュ テーブルによって一意であることが保証されます
3. TreeSet
基礎となるデータ構造は赤黒ツリーです。 (一意、順序付き)
要素の並べ替えを確実に行う方法?
自然な並べ替え、コンパレータによる並べ替え。
要素の一意性を確保するにはどうすればよいですか?
比較の戻り値が 0 であるかどうかに応じて決定します。
(ビデオ チュートリアルの推奨: java コース)
Map インターフェイス
1. Map インターフェイスには 3 つの重要な実装があります。クラスは、HashMap、TreeMap、および HashTable です。
2. 整然とした: ツリーマップ。順序なし: ハッシュマップ、ハッシュテーブル。
3. HashTable と HashMap の主な違い:
Hashtable のメソッドは同期ですが、HashMap のメソッドは同期ではありません。
4. Hashtable はスレッドセーフですが、HashMap はスレッドセーフではありません。
5. HashMap は Hashtable よりも効率的です。
同期や従来のコードとの互換性の要件がない場合は、HashMap を使用することをお勧めします。 Hashtable のソースコードを見ると、コンストラクタを除くすべての public メソッド宣言に synchronized キーワードが含まれていることがわかりますが、HashMap のソース コードにはそのようなものはありません。
6. Hashtable では null 値が許可されませんが、HashMap では null 値が許可されます (キーと値の両方が許可されます)。
7. 異なる親クラス: Hashtable の親クラスは Dictionary で、HashMap の親クラスは AbstractMap です。
以上がCollection インターフェースと Map インターフェースの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











パソコンを組み立てる際、設置作業は簡単ですが、誤ってCPUラジエーターの電源線をSYS_FANに差し込んでしまうなど、配線に問題が発生することが多く、ファンは回転しますが、ファンが回転しない場合があります。コンピュータの電源がオンになると、F1 エラー「CPUFanError」が発生し、CPU クーラーがインテリジェントに速度を調整できなくなります。コンピューターのマザーボード上の CPU_FAN、SYS_FAN、CHA_FAN、および CPU_OPT インターフェイスに関する一般的な知識を共有しましょう。コンピュータのマザーボード上の CPU_FAN、SYS_FAN、CHA_FAN、および CPU_OPT インターフェイスに関する一般科学 1. CPU_FANCPU_FAN は、CPU ラジエーター専用のインターフェイスであり、12V で動作します。

最新の効率的なプログラミング言語である Go 言語には、開発者が高品質で保守可能なコードを作成するのに役立つ豊富なプログラミング パラダイムと設計パターンがあります。この記事では、Go 言語の一般的なプログラミング パラダイムと設計パターンを紹介し、具体的なコード例を示します。 1. オブジェクト指向プログラミング Go 言語では、構造体とメソッドを使用してオブジェクト指向プログラミングを実装できます。構造を定義し、その構造にメソッドをバインドすることにより、データのカプセル化と動作バインディングのオブジェクト指向機能を実現できます。パッケージマイニ

Go 言語マップのパフォーマンスの最適化 Go 言語では、マップは非常に一般的に使用されるデータ構造であり、キーと値のペアのコレクションを保存するために使用されます。ただし、大量のデータを処理すると、マップのパフォーマンスが低下する可能性があります。マップのパフォーマンスを向上させるために、いくつかの最適化措置を講じてマップ操作の時間の複雑さを軽減し、それによってプログラムの実行効率を向上させることができます。 1. マップ容量の事前割り当て: マップを作成するときに、容量を事前に割り当てることで、マップの拡張回数を減らし、プログラムのパフォーマンスを向上させることができます。一般的に、私たちは

PHP インターフェースの概要とその定義方法 PHP は、Web 開発で広く使用されているオープンソースのスクリプト言語であり、柔軟性があり、シンプルで強力です。 PHP では、インターフェイスは複数のクラス間で共通のメソッドを定義し、ポリモーフィズムを実現し、コードをより柔軟で再利用可能にするツールです。この記事では、PHP インターフェイスの概念とその定義方法を紹介し、その使用法を示す具体的なコード例を示します。 1. PHP インターフェイスの概念 インターフェイスはオブジェクト指向プログラミングにおいて重要な役割を果たし、クラス アプリケーションを定義します。

エラーの原因は Python にあり、Tornado で NotImplementedError() がスローされるのは、抽象メソッドまたはインターフェイスが実装されていないことが原因である可能性があります。これらのメソッドまたはインターフェイスは親クラスで宣言されますが、子クラスでは実装されません。サブクラスが適切に動作するには、これらのメソッドまたはインターフェイスを実装する必要があります。この問題を解決するには、親クラスで宣言した抽象メソッドやインターフェイスを子クラスに実装します。別のクラスから継承するクラスを使用していてこのエラーが発生した場合は、親クラスで宣言されたすべての抽象メソッドを子クラスに実装する必要があります。インターフェイスを使用していてこのエラーが発生した場合は、インターフェイスで宣言されているすべてのメソッドを、インターフェイスを実装するクラスに実装する必要があります。どちらかわからない場合は、

インターフェイスと抽象クラスは、分離と拡張性のためにデザイン パターンで使用されます。インターフェイスはメソッド シグネチャを定義し、抽象クラスは部分的な実装を提供し、サブクラスは未実装のメソッドを実装する必要があります。ストラテジ パターンでは、インターフェイスを使用してアルゴリズムを定義し、抽象クラスまたは具象クラスが実装を提供するため、アルゴリズムを動的に切り替えることができます。オブザーバー パターンでは、インターフェイスを使用してオブザーバーの動作を定義し、抽象クラスまたは具象クラスを使用して通知をサブスクライブおよびパブリッシュします。アダプター パターンでは、インターフェイスを使用して既存のクラスを適応させることができ、互換性のあるインターフェイスを実装できるため、元のコードとの対話が可能になります。

Go の関数にマップを渡すと、デフォルトでコピーが作成され、コピーへの変更は元のマップには影響しません。元のマップを変更する必要がある場合は、ポインタを介してそれを渡すことができます。空のマップは技術的には nil ポインターであり、空ではないマップを期待する関数に空のマップを渡すとエラーが発生するため、空のマップは慎重に扱う必要があります。

Huawei が発表した新しいオペレーティング システムとして、Hongmeng システムは業界で大きな波紋を引き起こしました。米国の禁止措置を受けてのファーウェイの新たな試みとして、紅夢システムには大きな期待と期待が寄せられている。最近、幸運にもHongmengシステムを搭載したHuaweiの携帯電話を入手したので、一定期間使用して実際にテストした後、Hongmengシステムの機能テストと使用体験を共有します。まず、Hongmeng システムのインターフェースと機能を見てみましょう。 Honmeng システムは全体的に Huawei 独自のデザインスタイルを採用しており、シンプル、明確、スムーズな操作性を備えています。デスクトップ上には、さまざまな
