gpt4 book ai didi

java - 使用哈希集识别文本文件中的重复数字

转载 作者:行者123 更新时间:2023-11-30 07:29:03 25 4
gpt4 key购买 nike

在这里,我编写了在文本文件中显示重复数字的代码。这里我假设文本文件的每一行只包含整数。正如您现在看到的,它在文本文件中显示重复的整数。

我硬编码了文本文件的路径名。

这里我用了两个Hash Set来实现。我可以只使用一个哈希集吗?你能告诉我如何仅使用一个哈希集来实现相同的功能吗?

import java.io.*;
import java.util.*;

公共(public)类 FileRead {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
HashSet <String> uniquelines=new HashSet<String>();
HashSet<String>duplicatelines=new HashSet<String>();


try{
FileInputStream fstream=new FileInputStream("C:/Users/LENOVO/Desktop/txt.txt");
DataInputStream in=new DataInputStream(fstream);
BufferedReader br=new BufferedReader(new InputStreamReader(in));
ArrayList arr=new ArrayList();
String str;
while((str=br.readLine())!=null){
if(uniquelines.contains(str)){
if(!duplicatelines.contains(str)){
duplicatelines.add(str);
System.out.println(str);
}
}
else{
uniquelines.add(str);
}
}
in.close();
}catch(Exception e){
System.out.println(e);
}

}

}

最佳答案

为了保留现有功能,我看不出如何使用单个 HashSet。但是,您可以使用单个 HashMap,其中键是行,值是行在文件中出现的次数。

旁注:

  • 流、读取器和写入器应始终在 finally block 中关闭。
  • 您的 arr 变量没有用。

关于java - 使用哈希集识别文本文件中的重复数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8771737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com