Почему Scanner медленнее, чем BufferedReader, при чтении с ввода?
Я понимаю, для чего нужен Scanner, а также когда использовать Scanner и когда BufferedReader. Я прочитал другой, но в некотором термине похожий вопросСканер против BufferedReader
Почему сканер такой медленный, когда я читаю со входа? Я предполагаю, что это связано с тем, что в Scanner есть небольшой буфер, но здесь я потерялся. Исходная проблема от,Codechef , но я не заинтересован в этом решении.
Вот пример кода с заданным вводом: Вход:
$7Сканер против BufferedReader8$966369799999961И код
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] s = br.readLine().split(" ");
int numberOfLines = Integer.parseInt(s[0]);
int divideNumber = Integer.parseInt(s[1]);
int count = 0;
for (int i = 0; i < numberOfLines; i++) {
String number = br.readLine();
if (number.length() < 11) {
int num = Integer.parseInt(number);
if (num % divideNumber == 0) {
count++;
}
}
}
System.out.println(count);
}
}
Если я читаю тот же код со сканером, это медленно.