クラスにハッシュマップなどのコレクション データ構造がある場合、クラス内で .get(id) を使用してコレクションにアクセスすることは許容されますか、それとも、hashmap.get(id) を呼び出すメソッドを作成する必要がありますか?
ゲッターが外部リクエストからのパブリック アクセスに適しているかどうかはわかりませんでした。
クラスにハッシュマップなどのコレクション データ構造がある場合、クラス内で .get(id) を使用してコレクションにアクセスすることは許容されますか、それとも、hashmap.get(id) を呼び出すメソッドを作成する必要がありますか?
ゲッターが外部リクエストからのパブリック アクセスに適しているかどうかはわかりませんでした。
質問をひっくり返してください: ハッシュマップを直接使用しないのはなぜですか?
最終的に、答えは実際に何をしているかによって異なります。単純にハッシュ値にアクセスする以外に実際に何かをする必要がない限り、クラス内からハッシュ値を取得するメソッドを作成する理由はありません。あなたのクラスはマップの所有者です。好きなように操作してください。
クラスのユーザーにマップを公開すると、答えが異なる場合があります。
やりたいことに応じて、どちらでもかまいません。アクセサーを作成する理由として私が考えることができる最善の理由は、クラス内外の両方から不変条件を維持するために使用できるからです。ただし、それが必要ない場合は、直接使用してください。
クライアントが適切と考えるように、コレクション全体を返却します。
package misc;
import java.util.ArrayList;
import java.util.List;
public class Misx {
private List<String> list = new ArrayList<String>();
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
}