収集フレームワークの選択は、データ型、アクセス モード、同時実行性に依存します。 List (ArrayList など) はオブジェクトの保存と高速なインデックス アクセスに適しており、Set (HashSet など) は一意の値の保存に適しており、Map (HashMap など) はキーと値のペアの保存とそれに応じた値の迅速な検索に適しています。 Queue (ArrayDeque など) はキーごとに値を格納するのに適しています。データは先入れ先出し順序で格納されます。特定のアプリケーション シナリオには、連絡先の管理が含まれます。ArrayList を使用して連絡先を保存し、名前を迅速にインデックス付けします。HashSet を使用して連絡先が存在するかどうかを確認し、HashMap を使用して名前に基づいて連絡先を迅速に取得します。
#Java 初心者の疑問: コレクション フレームワークの選択と適用
Java 初心者として、正しいコレクション フレームワークを選択してください。不可解なこと。コレクションにはさまざまな種類があり、それぞれに長所と短所があります。一般的なコレクションの種類とその使用シナリオの一部を次に示します。リスト:
#Set:
Map:
Queue:
#先入れ先出し (FIFO) 順序で配列されたデータを格納するために使用されます
連絡先管理アプリケーションを作成しているとします。連絡先の名前、電子メール、電話番号を保存する必要があります。さまざまなコレクション型を使用してこのアプリケーションを実装する例を次に示します。
ArrayList の使用:import java.util.ArrayList;
public class ContactManager {
private List<Contact> contacts = new ArrayList<>();
public void addContact(Contact contact) {
contacts.add(contact);
}
public Contact getContactByName(String name) {
for (Contact contact : contacts) {
if (contact.getName().equals(name)) {
return contact;
}
}
return null;
}
}
import java.util.HashSet;
public class ContactManager {
private Set<Contact> contacts = new HashSet<>();
public void addContact(Contact contact) {
contacts.add(contact);
}
public boolean hasContact(Contact contact) {
return contacts.contains(contact);
}
}
import java.util.HashMap;
public class ContactManager {
private Map<String, Contact> contacts = new HashMap<>();
public void addContact(Contact contact) {
contacts.put(contact.getName(), contact);
}
public Contact getContactByName(String name) {
return contacts.get(name);
}
}
以上がJava 初心者の混乱: コレクション フレームワークの選択と適用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。