さらに高速化が必要な場合は、Scannerの代わりになる処理を自前で実装することになる。比較的実装が軽い方法としては、BufferedReader.readLineで行ごとに読み込み、String.splitかStringTokenizerで分割する方法がある。 実装は重いが、InputStreamで文字を少しずつ読み込み自前でパースするのが高速かつ省メモリ。 class FastScanner { private final InputStream in = System.in; private final byte[] buffer = new byte[1024]; private int ptr = 0; private int buflen = 0; private boolean hasNextByte() { if (ptr < buflen) { return true;