##はじめに
BufefedReaderの使い方について説明します。
使用後は、AtCoderの問題で処理速度が改善しました。
##BufferdReaderの使い方
実装内容です。BufferedReaderクラスの中身は リンク先の方が書いておりましたのでご参考まで。(大変参考になりました)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
〜省略〜
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
int stay = Integer.parseInt(input.readLine());
〜省略〜
BufferedReader
クラスのインスタンス化はお決まりの記載なので、暗記で大丈夫です。
注意点はメソッドのreadLineメソッドが入力を一行ずつ取得する点ですね。一行でスペース区切りで配列に分けたい場合はsplit
メソッドを使用するのが良いかと思います。
またお恥ずかしい話ですが、例外処理も詳しく把握していなかったのでこちらのサイトを参考にしました。
##今までは何を使っていた?
今まではScanner
クラスをつかっていました。以下の通り実装してました。
import java.util.Scanner;
〜省略〜
Scanner sc = new Scanner(System.in);
String s = sc.next();
〜省略〜
##実際に変更してみて結果どうなった?
1行目がBufferedReader
クラス使用後になります。約20%の速度が改善しました。
今回は入力する個数が4つなのでそこまで速度に影響しませんでしたが、今後大量データを処理する問題に直面した際にはBufferedReader
クラスは必須になるのかなと思いました。