小弟初来乍到,如果帖子没弄好,还请大家指正
我正在弄一个题目,比如有5张电话薄,我想把它合并成一张电话薄。他里面存的字符串的键值对,如:张三=110,李四=120等等,但是呢,电话薄中可能会有重复的键值,我们取最新的键值对保存起来(如果被搞糊涂了请告知我,我回帖的时候一定再仔细说)。
我通过用StringBuilder实现了基本的功能,即去重复值,取最新键值对,也遇到了一个问题
这是合并后的电话薄
此时,我想对这个电话薄进行排序(第一行先不管),至于这前面的数字呢我是在读取的时候加入的,但是打印出来就成了这样(若有大神知晓,不妨多说两句)。
我的方法是,利用split“.”来切割读取的到一行,如String[] arr=line.split(".");
然后,比较arr[0]
当然,这个比较器是传给TreeSet<String>的,我把从文件中读取的每一行都保存到TreeSet<String>中,我的想法是,TreeSet<String>添加读取到的行时,他会调用比较器进行比较,但是结果是数组越界的错误,还请大侠们指点迷津,如果需要更多的code,务必告知。
|