gpt4 book ai didi

java - 简化哈希集重复检测器的代码

转载 作者:行者123 更新时间:2023-12-02 03:18:50 27 4
gpt4 key购买 nike

这是我的代码,用于检查将电影读取到哈希集中并检测电影是否包含重复项。

public static void main(String args[]) throws Exception
{
boolean hasDuplicate = false;
Set<String> set = new HashSet<String>();
BufferedReader list = new BufferedReader( new FileReader(args[0]));
while(list.ready() && (hasDuplicate == false)){
set.add(list.readLine());
if(set.contains(list.readLine())) hasDuplicate = true;
}
if(hasDuplicate == true){
System.out.println("NOT UNIQUE");
}else{
System.out.println("UNIQUE");
}
list.close();
}

有没有办法让我简化

while(list.ready() && (hasDuplicate == false)){                         
set.add(list.readLine());
if(set.contains(list.readLine())) hasDuplicate = true;
}

这样我只需要调用一次哈希集?

最佳答案

如果该项目尚未在 Set 中,则 add 方法将返回 true。所以你可以简单地调用并检查结果:

while(list.ready() && (hasDuplicate == false)){                         
if (!set.add(list.readLine()))
hasDuplicate = true;
}

其次,原始代码无论如何都无法工作,因为该行被读取了两次,并且仅使用一次用于添加,一次用于检查。换句话说,它忽略了一半的输入。

关于java - 简化哈希集重复检测器的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39908354/

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