读取和排序多个文件

时间:2014-10-24 14:07:38

标签: java file sorting

以下是我遇到问题的完整问题:

  

对没有重复项的名称进行排序:编写一个程序,从所有十个文件中读取名称,对所有名称进行排序(男孩和女孩名称一起排除,重复删除),并将排序后的名称存储在一个文件中十每行(只有名字,没有等级)。

文件显示婴儿姓名及其排名。示例文件设置如下:

1 Lewis 12,000 Sarah 50,000     //rank, boy name, amountBoy, girl name, amountGirl

第一步是从十个文件中读取。如果不为每个文件创建新的ScannerBufferedReader,我该怎么做?请指出我正确的方向。我不是要求一个完整的解决方案。

1 个答案:

答案 0 :(得分:0)

阅读其中一个文件并关闭BufferedReader后,您可以通过将其值设置为new BufferedReader()来使用同一个对象。

首先,您需要将所有名称保存到ArrayList。下一步是将名称复制到第二个ArrayList并检查每个名称是否重复。

例如:

import java.util.ArrayList;
import java.util.List;

public List<String> sortNames(List<String> names){
List<String> returnValues = new ArrayList<String>();
boolean exists = false;

for(String name : names){
   sub: for(String nm : returnValues){
      if(name.equalsIgnoreCase(nm)){
         exists = true;
         break sub;
      }
   }
   if(!exists){
      returnValues.add(name);
   }else{
      exists = false;
      continue;
   }
}

return returnValues;
}