我需要一些建议。我知道如何笨拙地解决这个问题,但我想以正确的方式做到这一点,因为我需要给某人留下深刻的印象。
我有一个文本文件,例如:
[XXX622] [YYY] [LLL] [E77700] [NNN] [6JL99NNN] [HH66] [0770LLL] [R88] [VVV]
[B177HQ] [8RR22] [PPP] [GGG] [CCXXXGG] [8IIXX0] [3KCC] [00222]
[222] [OO] [OO] [OO] [99] [555444] [33]
我需要读取条目,然后使用它们进行处理,例如按字母顺序排序。
我不知道怎么做的过程是计算每行中有多少相似的条目。
如果我将条目读入字符串数组并将数组传递给计数方法,那么我该怎么做才能让方法知道每个条目的哪一行?我应该创建一个二维数组并将亚麻布与条目一起作为字符串插入吗?
提前致谢!
答案 0 :(得分:2)
这是一个提示。
当您处理该行时,使用Map
(其中一些具体实现; HashMap
将起作用)。如果您知道如何在Map
中插入条目,并且知道如何判断Map
中是否已存在条目,那么您就有了解决方案!
如果你真的想给他们留下深刻的印象,请向他们解释为什么Map
解决方案很快,然后解释速度与内存的权衡。使用Big-O表示法会给他们留下更深刻的印象,也会表明你知道你在说什么。
因为你说这是为了实习,所以我不打算给你整个(工作)解决方案。如果您打算给他们留下深刻印象,那么您应该自己制定解决方案。在我看来,提出一个社区解决方案作为你自己的解决方案会有点不诚实。
答案 1 :(得分:1)
你有一些不错的选择。最简单的方法是简单地读入条目并一次处理一行,而不是一次完成。另一种选择是创建一个代表一行的类:
public class CodeLine {
public int lineNumber;
public List<string> codes;
}
这是一种更“面向对象”的方式来表示你的线条,而不是2D数组。