gpt4 book ai didi

java - USACO 是否仍推荐使用 StringTokenizer?

转载 作者:搜寻专家 更新时间:2023-11-01 03:03:55 24 4
gpt4 key购买 nike

我刚刚开始使用 Java 解决一些 USACO 实践问题。然而,我立即遇到了一些关于解析文件输入的困惑......

USACO 培训页面说:

Important: BufferedReader and StringTokenizer are far more efficient than many other schemes for reading input. They can make a huge difference in the efficiency of your program! Use them!

但是,Oracle 文档说:

StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead.

我发现互联网上的意见非常复杂。一些,包括培训页面,说 StringTokenizer 应该被使用,因为它比 String.split() 更快,而 String.split() 又比 Scanner 快(虽然this 回答不同意)。其他人说应该使用 ScannerString.split(),因为它们使用起来更简单,而且解析文件的性能成本可以忽略不计。

目前哪种方法最实用?

最佳答案

在编程竞赛中,代码的逻辑和算法部分比获取输入数据的方法更重要。

ScannerStringTokenizer 之间只有几毫秒的差异,这不会对您的解决方案产生任何重大影响。

但是,总的来说,Scanner 更易于使用并且性能始终如一,而(您说的)StringTokenizer 是一个遗留类,不鼓励使用它。

关于java - USACO 是否仍推荐使用 StringTokenizer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29336391/

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