データを保存する際のあなたのアプローチはひどいものです。あなたのテーブルでは、基本的に2011年をキーとして使用することを示しています...そうしてください!
もう1つの問題は、異なるデータを区切るためにマップ内のタブを含む文字列を使用しないことです。より論理的な簡単な方法は、タブで区切られたデータをタブなしのリストに格納することです。
これがあなたがやろうとしていることであり、マップに追加する前または後にリストに何かを追加できることを示しています。
HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
ArrayList<String> titles2011 = new ArrayList<String>();
titles2011.add("Almayer's Folly");
map.put("2011", titles2011);
map.get("2011").add("Faust");
System.out.println("Year\tTitle");
for (String year : map.keySet()) {
for (String title : map.get(year)) {
System.out.println(year+"\t"+title);
}
}
また、 java.util.mapとjava.util.HashMapの冒頭を読むことをお勧めします。ハッシュテーブルの目的と目的、より具体的には、衝突の処理方法(ハッシュテーブルの適切な使用方法を学習すると、衝突に対処する方法)を調べるだけでなく。