詳解Java編寫算法時如何加快讀寫數據速度
前言
對于解決該方法我們一般如下操作,不需要知道為什么,有模板(個人觀點)
使用BufferedReader代替Scanner:Scanner類在讀取大量輸入時性能較差,而BufferedReader具有更高的讀取速度??梢允褂肂ufferedReader的readLine()方法逐行讀取輸入數據。
使用StringTokenizer:StringTokenizer是一個用于分割字符串的工具類,相比正則表達式或者String的split()方法,它具有更高的執(zhí)行效率??梢允褂肧tringTokenizer來分割輸入數據。
一、讀取基本數據類型
import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st=new StringTokenizer(br.readLine()); int n=Integer.parseInt(st.nextToken()); long m=Long.parseLong(st.nextToken()); System.out.print("n="+n+" m="+m); } }
二、String類型
(1)以回車為結束符
注意這個讀取字符串是以回車結尾的,遇到空格也是會讀進去的
import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String s1=br.readLine(); String s2=br.readLine(); System.out.print("s1="+s1+" s2="+s2); } }
(2)以空格為結束符
import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); String s1 = st.nextToken(); String s2 = st.nextToken(); System.out.println("s1=" + s1 + " s2=" + s2); } }
到此這篇關于詳解Java編寫算法時如何加快讀寫數據速度的文章就介紹到這了,更多相關Java加快讀寫數據速度內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
java后端請求兌現(xiàn)request的中文亂碼問題解決
文章主要講述了在處理處理方案工作中遇到中文亂碼問題的解決過程,通過復現(xiàn)和分析亂碼問題,發(fā)現(xiàn)是由于解碼規(guī)則和后端服務編碼不一致導致的,最終通過修改過濾器中的編碼設置解決了問題2025-02-02Java 快速排序(QuickSort)原理及實現(xiàn)代碼
這篇文章主要介紹了Java 快速排序(QuickSort)原理及實現(xiàn)代碼,有需要的朋友可以參考一下2014-01-01