タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

iteratorに関するmasudaKのブックマーク (2)

  • 【PHPで学ぶデザインパターン入門】第4回 Iteratorパターン | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    こんにちは、エンジニアの王です。 今回は、Iteratorパターンをご紹介したいと思います。 「iterate」は「◯◯を繰り返す」という意味で、プログラミングにおいてはもっぱら「for」や「while」などを用いた「反復処理」をするという意味で使われます。 「Iterator パターン」は、集約オブジェクト(コレクションオブジェクト)の中の要素を列挙する手段を提供して、具体的な列挙方法を集約オブジェクトから隠蔽することで、列挙方法を抽象化します。 なんだか難しいように思えますが、心配することはありません。後ほど実際にコードを見れば、すぐに分かると思います。 Iterator パターン 集約オブジェクトって? 何らかの「情報の集まり」を格納したオブジェクトのことです。「配列」が最も単純な集約オブジェクトでしょう。 // 「名前」集約オブジェクト $name_list = [ 'Matumo

    【PHPで学ぶデザインパターン入門】第4回 Iteratorパターン | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
  • iteratorや拡張forよりStreamのforEachが速い? - きしだのHatena

    ちょっと気になったので、簡単にベンチマークしてみました。 最初は、ラムダ呼び出しが入る分forEachは遅いんじゃないかと思っていたら、倍の速さに。 もちろん、いろんな条件で変わるんだろうけど、ここまで差が出ることがあるのは驚き。 あと、Collectors.summingIntのような基型に対するCollectorを使うよりは、intStreamに変換してからsumなど専用メソッドを使うほうが圧倒的に速いことも確認できた。 とりあえず、0から10万件のListを用意。 array = IntStream.range(0, 100_000).boxed().collect(Collectors.toList()); それからベンチマーク用のメソッドを用意。 public static void bench(String name, Supplier<Integer> proc){ ben

    iteratorや拡張forよりStreamのforEachが速い? - きしだのHatena
  • 1