トップ «前の日記(2010-03-16) 最新 次の日記(2010-03-18)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2010-03-17

_ 少し知ってればたくさんの時間を得られる

Javaの良いところは、String#substring, split, replace, +, +=, equalsだけ知っていれば処理時間がグレートなコードが書けることだ。

たとえばこんなやつ。

FileReader fr = new FileReader("many-lines-file.txt");
BufferedReader br = new BufferedReader(fr);
String lines = "";
String line;
int count = 0;
while ((line = br.readLine()) != null) {
    for (int i = 0; i < line.length(); i++) {
        if (" ".equals(line.substring(i, i + 1)) {
            line = line.replace(" ", "0");
        }
    }
    lines += line + ",";
    count += 1;
}
String[] data = lines.split(",");
for (int i = 0; i < count; i++) {
    //
}

こんな感じ。もっと処理時間をグレートにするにはどうすればよいだろうか?


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|

ジェズイットを見習え