質問

EmployeeオブジェクトのLinkedListがある場合...

各従業員には、名前とIDフィールドがあります。

linkedListの呼び出しリストがあります。...

リストに従業員が含まれているかどうかを確認したい場合:

list.contains(someEmployeeObject)

リストに従業員IDに基づいた従業員が含まれているかどうかを確認したい場合はどうですか。

次の方法があるとしましょう:

public boolean containsEmployeeByID(int id)

リストにパラメータidの従業員オブジェクトが含まれているかどうかを確認するにはどうすればよいですか

役に立ちましたか?

解決

リストを歩いて、一致するものを探します。これを頻繁に行い、リストを頻繁に変更しない場合は、最初にマップインデックスを作成します。

List<Employee> list = ...
for (Employee e : list)
   if (e.getID() == id)
      return true;
return false;

それは、従業員をLinkedListに保存するということですか??なんと奇妙な問題の例...

他のヒント

キーをIDとして使用し、値を従業員名または従業員オブジェクトとしてマップを使用する必要がありますか?

equals()メソッドをオーバーライドして、IDに基づいて比較することもできますが、通常これはベストプラクティスではありません。

もう1つのオプションはHashMapを作成し、IDで従業員を取得することです。

for (Employee empl : list) {
    map.put(empl.getId(), empl);
}

String idLookup = "1234";

Employee employee = map.get(idLookup);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top