gpt4 book ai didi

java - "merge"两个读者变成一个作者

转载 作者:行者123 更新时间:2023-11-29 05:08:53 25 4
gpt4 key购买 nike

我需要实现方法

void filter(Reader mails, Reader groups, Writer users) 抛出 IOException

以这样一种方式,它将来自读者的两份数据组合成一个作者。

邮件 的文件如下所示:

Login;Email
login1;mail1@mail.com
login2;mail2@mail.com
login3;mail3@mail.com
login4;mail4@mail.com

groups 的文件如下所示:

Login;Group;
login1;Group1
login2;Group2
login3;Group3
login4;Group2

合并的结果应该是这样的:

Login;Email;Group
login1;mail1@mail.com;Group1
login2;mail2@mail.com;Group2
login3;mail3@mail.com;Group3
login4;mail4@mail.com;Group2

所以,我想到的是:从第一个读取器获取一个字符串,然后从第二个读取器获取另一个字符串,根据需要操作它们,然后用写入器写入结果。

但是有没有办法让它变得不同或更优雅呢?

PS:我只能使用 ReaderWriter 类。

顺便说一句:当我使用 Writer 向文件写入内容时,如果我查看该文件,我会看到一些不可读的内容。但是,如果我用 Reader 读取同一个文件,然后在控制台上打印它,它看起来没问题。正常吗?或者我如何写入文件以使其可读?

最佳答案

如何使用 Map 和 POJO 容器。

Pojo 是

String email;
String group;

然后你有一个 HashMap

Map<String,EmailGroup> emailGroup = new HashMap<String,EmailGroup>();

然后您的阅读代码将阅读电子邮件列表,然后填充组。

readEmail(emailGroup);
readGroup(emailGroup);


readEmail(Map<String,EmailGroup> map)
{
EmailGroup tempgroup;
if(map.contains(login))
{
tempGroup = map.get();
}
else
{
EmailGroup tempGroup = new EmailGroup();
}
tempGroup.setEmail(readEmailAddress);
map.put(login,tempGroup);
}

readGroup 做同样的事情但调用 setGroup();

这不是一个完整的解决方案,但应该提供有关解决此问题的另一种可能方法的建议。

关于java - "merge"两个读者变成一个作者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29412959/

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