すまん。初心者です。教えてください。

仮に学校の比較?などを扱うプログラムを作ろうとしていて、schoolという1つの学校の情報をまとめたクラスを作るとします。
そのクラスの中に、以下のような学生の情報をまとめたテーブルの情報をぶち込みたいとして、どのようにこれらのテーブルをschoolクラス内に保存するのがいいですか。


名前 整理番号 性別 2ちゃんねら 馬鹿 橋本環奈好き 年齢
taro 0 #\M t t nil 16
hanako 1 #\F nil t t 16
nagisa 2 #\L nil nil t 18
hoge
piyo
foobar
...

学校によって人数は若干違いますが、基本的にテーブルの大きさはそれほど大きくないとします。
それぞれの要素を頻繁に検索・参照する必要があります。
僕が思いつくのは、

・schoolのstudentsというスロットに、1人のデータの1つのリスト・構造体・クラスにして、そのリストとして保存。
・ハッシュテーブルをつかって、下記のような形で保存。

2CHP ((NAGISA NIL) (HANAKO NIL) (TARO T))
BAKAP ((NAGISA T) (HANAKO T) (TARO T))

ぐらいなのですが、このうちどれがおすすめとか、これら以外にもっと便利な方法などありましたら教えてください。
よろしくお願いいたします。