java 从txt资料中读取数字 每行有且只有两个数字 存入arraylist里

java 从txt文件中读取数字 每行有且只有两个数字存入arraylist里求助求助!我有一个txt 文件 文件里每一行

java 从txt文件中读取数字 每行有且只有两个数字 存入arraylist里
求助求助!
我有一个txt 文件 文件里每一行只有两个数字
12 14
12 15
13 16
13 29
13 30
等等

要求找出每一行第一个比如是12 他之后的所有第二个数字的集合
比如输出结果为
12:14,15,16
13:16,29,30

请问怎么存到arraylist里面
另外算法要求是在线性时间里完成
txt文件非常之大


[解决办法]
不知道你所谓的“文件非常之大”有多大,而且需要在线性时间完成,不知道多线程可不可以;正常实现可以如下代码:
try {
FileReader fr = new FileReader("C:\\Users\\chenxh\\Desktop\\测试数据.txt");
BufferedReader bf = new BufferedReader(fr);
String str = null;
Map map = new HashMap<String, ArrayList>();
List list = null;
while((str=bf.readLine()) != null){
String[] strs = str.split(" ");
Object obj = map.get(strs[0]);
if(obj == null)
list = new ArrayList();
else
list = (List)obj;
list.add(strs[1]);
map.put(strs[0], list);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这类读写应该很快的,只不过文件越大可能消耗内存更大些,你可以试试。如果不能实现,需要优化怎么实现,同求解