日期:2014-05-20  浏览次数:20657 次

Java代码编写,求高人解答。。。。
在记事本中有建立数据,如
James:100m,high jump
Jack: 100m
James:400m
Ali: javelin
Ali: 100m
然后读取这些数据,再存这些数据进HashTableMap里,学生名字是key,运动项目是value,然后那些项目首先要放进linked list里面,再把linked list作为value和key放进tablemap里。最后的显示是:

James:100m,high jump,400m
Jack: 100m
Ali: javelin,100m

就是key一样的把value合并在一起,怎样写他的代码,求高人解答。。。

------解决方案--------------------
Java code

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("test.txt")));
Map<String, List<String>> map = new HashMap<String, List<String>>();
String buf;
while ((buf=br.readLine()) != null) {
    String[] v = buf.split(":", 2);
    if (!map.containsKey(v[0])) {
        map.put(v[0], new LinkedList<String>());
    }
    map.get(v[0]).add(v[1]);
}
br.close();
System.out.println(map);