1

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

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

私はlinkedListコールリストを持っています....

リストに従業員が含まれているかどうかを確認したい場合は、次のようにします。

list.contains(someEmployeeObject)

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

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

public boolean containsEmployeeByID(int id)

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

4

3 に答える 3

4

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

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

そうは言っても、LinkedListに従業員を保存する?? なんて奇妙な例の問題...

于 2009-05-02T03:49:40.177 に答える
1

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

于 2009-05-02T03:54:13.020 に答える
1

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

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

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

String idLookup = "1234";

Employee employee = map.get(idLookup);
于 2009-05-02T03:54:34.143 に答える