我试图从两个文件读入并将它们存储在两个单独的arraylists中.这些文件由一行中的单词或由逗号分隔的多个单词组成.我用以下代码读取每个文件(不完整):
ArrayList<String> temp = new ArrayList<>();
FileInputStream fis;
fis = new FileInputStream(fileName);
Scanner scan = new Scanner(fis);
while (scan.hasNextLine()) {
Scanner input = new Scanner(scan.nextLine());
input.useDelimiter(",");
while (scan.hasNext()) {
String md5 = scan.next();
temp.add(md5);
}
}
scan.close();
return temp;
Run Code Online (Sandbox Code Playgroud)
我现在需要读取两个文件并删除第一个文件中的所有单词,这些单词也存在于第二个文件中(文件中有一些重复的单词).我尝试过for循环和其他类似的东西,但没有任何工作,所以任何帮助将不胜感激!
奖金问题:我还需要找出两个文件中有多少重复项 - 我通过将两个arraylists添加到HashSet然后从两个arraylists的组合大小中减去集合的大小来完成此操作 - 这是一个好的解决方案,还是可以做得更好?
首先,您需要在自定义类中覆盖相等的方法,并定义删除列表的匹配条件
public class CustomClass{
@Override
public boolean equals(Object obj) {
try {
CustomClass licenceDetail = (CustomClass) obj;
return name.equals(licenceDetail.getName());
}
catch (Exception e)
{
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
其次,您调用removeAll()方法
list1.removeAll(列表2);
| 归档时间: |
|
| 查看次数: |
58984 次 |
| 最近记录: |