我正在尝试在 Interview Street 上做一道题,我的问题与算法无关,而是与 Java 相关。对于这个挑战,需要从 System.in 中获取相当多的输入行(几十万行)。每行都有两个或三个标记的预期模式,因此无需进行任何验证或解析(使 Scanner 无效)。我自己的算法是正确的,只占整个运行时间的一小部分(范围为 5%-20%,具体取决于边缘情况)。
通过一些研究和测试,我发现对于这个问题,BufferedReader 类在获取该问题的输入数据方面明显快于 Scanner 类。然而,BufferedReader 仍然不够快,无法满足挑战的目的。谁能给我指出一篇文章或 API,我可以在其中研究更好的输入方式?
如果这很重要,我会通过调用 readLine() 方法和 String split() 方法来使用 BufferedReader 来分隔标记。
最佳答案
在没有任何有用信息的情况下,我能做的就是提供一个笼统的答案:http://java.sun.com/developer/technicalArticles/Programming/PerfTuning/
关于java - 快速获取 Java 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9221006/