コレクションに関する Q and A
Q: プリミティブ型を格納できる?
A: できません。ラッパークラスを使いましょう。
Q: 自作クラスのインスタンスをHashSetに格納したいのだけど、「同じ」の判定がおかしい?
A: equalsメソッドとhashCodeメソッドを適切にオーバーライドしましょう。
Q: ArrayListの要素を取得するとき、範囲外のインデックスを指定して、エラーになるんだけど、エラーを出さないようにするには?
A: きちんと例外処理を行いましょう。
Q: HashSetで要素を取得するとき、格納されてないキーを指定してエラーになるんだけど、、エラーを出さないようにするには?
A: nullかどうか判定するか、例外処理を行いましょう。
Q: コレクションの要素をソートしたいんだけど?
A: 単純なソートならCollections.sortを使う。ソート順を細かく指定したいなら、Collections.sortにComparatorを渡す。常にソートした状態にする(addしたタイミングでソートする)なら、対象のクラスにComparableを実装しておく。