Hatena::ブログ(Diary)

未来の日記 〜人間ってこんなもの〜

2006/10/17 (火)

[]メモ 19:30

    private static final void test1(List list)
    {
        String str = null;
        for (int index =0; index < list.size(); index++)
        {
            str = (String) list.get(index);
        }
    }
    private static final void test2(List list)
    {
        String str = null;
        for (int index =0, size = list.size(); index < size; index++)
        {
            str = (String) list.get(index);
        }
    }
    private static final void test3(List list)
    {
        String str = null;
        int index = list.size() - 1;
        while(0 < index)
        {
            str = (String) list.get(index);
            index--;
        }
    }
    private static final void test4(List list)
    {
        String str = null;
        for (Iterator itr = list.iterator(); itr.hasNext();)
        {
            str = (String) itr.next();
        }
    }
    private static final void test5(List list)
    {
        String str = null;
        Iterator itr = list.iterator();
        while (itr.hasNext())
        {
            str = (String) itr.next();
        }
    }
    private static final void test6(List<String> list)
    {
        String str = null;
        for (int index =0, size = list.size(); index < size; index++)
        {
            str = list.get(index);
        }
    }

test1:188

test2:125

test3:125

test4:234

test5:235

test6:125

イテレータってこんな遅いのか。

list.size()は毎回呼び出すとかなり遅くなるのね。

0比較は自分が読みにくくなるので嫌い。

listにはArrayListを使用しています。

単純に速度の比較をしただけであり、実用性とは関係ありません。

Listの実装クラスによって結果は異なります。以下は、ご指摘下さった方へのリンクです。ご指摘ありがとうございます。

http://yoshiori.org/blog/2006/12/javaiterator.php

http://d.hatena.ne.jp/t_yano/20070128/1170006946

トラックバック - http://d.hatena.ne.jp/BlacksmithMirai/20061017/1161081012
『信長の野望 Online』に関わる著作権、その他一切の知的財産権は、株式会社コーエーに帰属します。
(C)2004 KOEI Co., Ltd. All rights reserved.
このホームページに掲載している『信長の野望 Online』の画像は、
『信長の野望 Online』の有効なアカウントをお持ちのユーザーのみに株式会社コーエーが使用許諾を行ったものです。
当サイトに記載されている会社名・製品名・システム名などは、各社の登録商標、もしくは商標です。
Copyright (C) 2002-2006 SQUARE ENIX CO., LTD. All Rights Reserved.