FastScanner Java

Il semble qu'un scanner normal soit lent et consomme de la mémoire, je vais donc utiliser ce qui suit à partir de maintenant.

import java.io.*;
import java.util.StringTokenizer;
 

public class Main {
 
    public static void main(String[] args) throws Exception {
        FastScanner scanner = new FastScanner(System.in);
        long val = scanner.nextLong();
        String str = scanner.nextLine();
 
        PrintWriter printWriter = new PrintWriter(System.out);
        printWriter.printf("%d\n", val);
        printWriter.printf("%s\n", str);
        printWriter.close();
    }
 
    static class FastScanner {
        private BufferedReader reader = null;
        private StringTokenizer tokenizer = null;
 
        public FastScanner(InputStream in) {
            reader = new BufferedReader(new InputStreamReader(in));
            tokenizer = null;
        }
 
        public String next() {
            if (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }
 
        public String nextLine() {
            if (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    return reader.readLine();
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
 
            return tokenizer.nextToken("\n");
        }
 
        public long nextLong() {
            return Long.parseLong(next());
        }
         
        public long nextInt() {
            return Integer.parseInt(next());
        }
        
        public double nextDouble() {
        	 return Double.parseDouble(next());
    	 }
        
        public int[] nextIntArray(int n) {
            int[] a = new int[n];
            for (int i = 0; i < n; i++)
                a[i] = nextInt();
            return a;
        }
        
        public long[] nextLongArray(int n) {
            long[] a = new long[n];
            for (int i = 0; i < n; i++)
                a[i] = nextLong();
            return a;
        } 
    }
}

Référence

Recommended Posts

FastScanner Java
Java
Java
Apprendre Java (0)
Étudier Java ―― 3
[Java] tableau
[Java] Annotation
Module [Java]
Tableau Java
Astuces Java, astuces
Méthodes Java
Méthode Java
java (constructeur)
Tableau Java
[Java] ArrayDeque
java (remplacement)
java (méthode)
Journée Java 2018
java (tableau)
Java statique
Sérialisation Java
JAVA payé
Java (ensemble)
tri shell java
Étudier Java -5
java réfléchissant 获 获 举
java (interface)
Mémorandum Java
Étudier Java ―― 1
[Java] Array
[Java] Polymorphisme
Étudier Java # 0
Revue Java
framework java
Fonctionnalités Java
Fonctionnalités Java
java débutant 3
Mémo Java
java (encapsulation)
Héritage Java
[Java] Surcharge
Les bases de Java
Décompiler Java
[Java] Annotation
note java
java débutant
Java (add2)
JAVA (Carte)
interface [java]
Collection Java9
Les bases de Java
Méthodes Java
Journal de Java
Héritage Java
[Java] enum (type d'énumération)
[Java] FizzBuzzCounter
Étudier Java ―― 8
Tableau Java
Java (ajouter)
Méthode Java