gpt4 book ai didi

java - 如何在另一个 HashSet 中正确传递/添加 HashSet 中的字符串?

转载 作者:行者123 更新时间:2023-12-01 13:56:22 28 4
gpt4 key购买 nike

我有以下问题:

我正在根据各种参数解析哈希集中大量制表符分隔值文件(“原始文件”)中的列。我想解析它一次,并将其写为一个简化的文件(“解析结果”),我不需要每次都重新分割/过滤所有内容,而只需读取“解析结果”文件,然后构建第二个 hashSet returnedHS ,只要我使用正确的参数启动程序即可。

当我检查结果相同时,我有一个奇怪的行为。当我读取第三个文件(电话簿)中的内容并尝试检查该文件的行内容是否包含我知道原始文件中存在的名称(因此在originalHS中)时,(originalHS.contains(knownName) 为 true ,但retrievedHS.contains(knownName)为假,但技术上是相同的。

我再次尝试让这个问题尽可能清晰,并尽可能简化代码,

感谢您的帮助

<小时/>
    HashSet<String> originalHS =originalParser(Original.txt)
//method that parse a voluminous original.txt file (a tsv file) retrieving the first column based upon //other criterias from the other columns.

System.out.println ("Debug: Display name collection: "+originalHS.toString());
//Debug: Display name collection: [Smith, Johnson, Bates]

String name="Smith";

if(originalHS.contains(name)){ System.out.print("true")
else { System.out.print("false");

//test for presence of name from a third file in this set
//executes the code as it is true.

String recorder_txt=//my storage file path
PrintWriter writer = new PrintWriter(Recorder_txt);
String recordedNames = originalHS.toString();
System.out.print("Writing recordedAccessions "+recordedNames);
//Debug: Display Writing recordedAccessions [Smith, Johnson, Bates]

writer.println (recordedNames);

HashSet <String> retrievedHS =new HashSet <String>();

HashSet <String> returnedHS= retrieve(Recorder_txt)

//在我自己的代码中的另一个类中制作的,参见下面的方法代码//解析Recorder_txt中writer从原始HS写入的HashSet的方法//它打开文件,读取行 [name1,name2,...],抑制 [],分割行,加载//names 到 HashSet 中

        retrievedHS=returnedHS
//or retrievedHS.addAll(returnedHS)

if(retrievedHS.contains(name)){ System.out.print("true");}
else { System.out.print("false");}
//DOES NOT WORK; it always returns false

最佳答案

代码仍未编译,因此很难理解。我发现您的问题有两个主要的潜在原因:

  1. 您在一开始就针对 originalHS 进行测试,但这并不是您要写入文件的内容。您正在编写 nameCollection
  2. 您按 "," 进行拆分,并且不修剪结果。因此,包含 "Smith""Johnson""Bates" 的集合将写为 [Smith, Johnson, Bates] ,并被视为包含“Smith”“Johnson”“Bates” 的集合(即,将有一个除第一个名称外,每个名称前都需要有空格)。

关于java - 如何在另一个 HashSet<String> 中正确传递/添加 HashSet<String> 中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19607095/

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