IO加速.java 2.3 KB
Newer Older
qq_36480062's avatar
c  
qq_36480062 已提交
1
import java.io.*;
qq_36480062's avatar
c  
qq_36480062 已提交
2 3
import java.util.ArrayDeque;
import java.util.LinkedList;
qq_36480062's avatar
c  
qq_36480062 已提交
4 5 6 7 8
import java.util.StringTokenizer;

import static java.lang.System.in;

public class IO加速 {
qq_36480062's avatar
c  
qq_36480062 已提交
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    static void f() {
        long s = System.nanoTime();
        LinkedList<Integer> l = new LinkedList<Integer>();
        for (int i = 0; i < 3000000; i++) {
            l.add(i);
        }
        for (int i = 0; i < 3000000; i++) {
            l.poll();
        }
        long t = System.nanoTime();
        System.out.println((t - s) / 1e8);
        s = System.nanoTime();
        ArrayDeque<Integer> r = new ArrayDeque<Integer>();
        for (int i = 0; i < 3000000; i++) {
            r.addFirst(i);
        }
        for (int i = 0; i < 3000000; i++) {
            if ((i & 1) == 1) r.pollLast();
            else r.pollFirst();
        }
        t = System.nanoTime();
        System.out.println((t - s) / 1e8);
    }
qq_36480062's avatar
c  
qq_36480062 已提交
32

qq_36480062's avatar
c  
qq_36480062 已提交
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
    public static void main(String[] args) throws IOException {
        f();
//        tokenizer = new StringTokenizer("123123   15412  4312412");
//        System.out.println(tokenizer.nextToken());
//        System.out.println(tokenizer.nextToken());
//        System.out.println(tokenizer.hasMoreTokens());
//
//        System.out.println(tokenizer.nextToken());
//
//        System.out.println(tokenizer.hasMoreTokens());
//
//
//        //标准输出流,只能输出字符串,不能输出数字!!!
//        bw.write(1 + " ");
//        bw.flush();
qq_36480062's avatar
c  
qq_36480062 已提交
48 49 50 51 52 53 54 55 56 57 58 59
    }

    static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    static BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    static StringTokenizer tokenizer = new StringTokenizer("");

    static String nextLine() throws IOException {// 读取下一行字符串
        return reader.readLine();
    }

    static String next() throws IOException {// 读取下一个字符串
        while (!tokenizer.hasMoreTokens()) {
qq_36480062's avatar
c  
qq_36480062 已提交
60
            //如果没有字符了,就是下一个,使用空格拆分,
qq_36480062's avatar
c  
qq_36480062 已提交
61 62 63 64 65 66 67 68 69 70 71 72 73
            tokenizer = new StringTokenizer(reader.readLine());
        }
        return tokenizer.nextToken();
    }

    static int nextInt() throws IOException {// 读取下一个int型数值
        return Integer.parseInt(next());
    }

    static double nextDouble() throws IOException {// 读取下一个double型数值
        return Double.parseDouble(next());
    }
}