タグ

streamとJavaに関するyukimori_726のブックマーク (9)

  • JVM上でのストリーム処理エンジンの変遷

    JJUC-CCC - Japan Java Users Group Cross Communiy Conference - 2016 Spring 講演資料。 テスト、書いてますか?はい、我々は書いていませんでした。しかし今は違います。将棋の駒を動かすかのように一手ずつテストを書き進めるための戦術と戦略のようなものを、お話しできればと思います。このセッションは同じチームの同僚による昨年秋のセッション「JJUG-CCC 2015 Fall CD-2 Java8移行から始めた技術的負債との戦い」の続編のようなものです。

    JVM上でのストリーム処理エンジンの変遷
  • Java Streams API を使って例外処理をきっちり行なうコードを書くことは難しい - Qiita

    Streams API をこれまでまともに使ったことがなかった。 まともに使おうとしたら例外処理の扱いが非常に難しいことを実感したので、一例を挙げてその難しさを解説する。 やりたい処理 複数のテキストファイルのそれぞれを1行ずつ読みこみ、空白文字で各行を単語に分割し、単語に対して何か処理を行なう、というよくある処理を実装してみよう。処理の手順を手続き的に書くと以下のようになる。 あるディレクトリの直下に存在する複数のテキストファイル(拡張子 .txt)を1つずつ読む 各テキストファイルを1行ずつ読む 各行(文字列)を、空白文字を区切り文字として複数の文字列(単語と呼ぶことにする)に分割する 各単語に対して何か処理をする。以下、処理の名前を analyze とする クラスの雛形 以下の TextFileProcessor を拡張したクラスを実装する。 各単語に関する処理 analyze は実

    Java Streams API を使って例外処理をきっちり行なうコードを書くことは難しい - Qiita
  • GitHub - amazon-ion/ion-java: Java streaming parser/serializer for Ion.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - amazon-ion/ion-java: Java streaming parser/serializer for Ion.
  • Stream APIの演習、様々な処理でストリームを使ってみる

    前回、前々回と2回に渡って、ストリームの基的な使い方について説明してきました。 とはいうものの、いざストリームを使おうとしても、なかなかすんなりとはいかないのも仕方がないところです。今までのJavaのプログラミングスタイルからすると、ストリームのスタイルは大きく異なります。特に関数を用いて処理を指定していく方法は、今までのJavaではあまりありませんでした。 このスタイルは連載の「Java SE 8のラムダ式はどうやって活用するか」で紹介した、高階関数を用いた関心の分離に他なりません。 そこで、今回は様々な処理をストリームで行うことにより、ストリームを使う上での考え方を紹介していきます。 条件に合致するものに対して処理を行う 拡張for文を使用してリスト1のような処理を書くことはありませんか。 リスト1●条件に合致した要素に対し処理を行う List<String> elements =

  • Java文字列メモ(Hishidama's Java String Memo)

    一文字:char [/2010-06-20] 不変の文字列:String [/2023-09-24] 可変の文字列:StringBuffer/StringBuilder [/2023-09-24] StringWriter(PrintWriter)/PrintStream [/2009-02-14] StringJoiner [2014-03-19] コードポイントの例 [2017-01-28] 文字のStream [2014-04-29] 文字列の結合 [2007-07-01] 単独の結合の実行時間 ループ内結合の実行時間 +演算子の実態 [/2008-01-27] 結論 [/2014-04-29] 文字列の比較方法 [2008-04-16] 文字列比較の書き順 [2008-05-02] 半角カタカナ・全角ひらがな変換 [2012-06-15] 半角英数変換 [2014-04-29] c

  • JavaのStreamでHaskellのzipっぽいやつ - Qiita

    なんで無いんでしょう? 無いので作りましたというお話です。 zipとは? ファイル圧縮形式の話ではありません。 2つのリストから、それらの要素をペアにしたリストを返す関数です。 リスト1 : [1, 2, 3 ..] リスト2 : ['a', 'b', 'c' ..] 生成されるリスト : [(1, 'a'), (2, 'b'), (3, 'c') ..] java.util.stream.Stream でこれと同等の機能が提供されているだろうと思い探したのですが、標準ライブラリでは提供されていないようですね。 作成したものと使い方 javadoc ソース リポジトリ ZippedStream というクラス1と、付随するクラスを作成しました。 次のように使用します。 Stream<Integer> stream1 = Stream.of(1, 2, 3); Stream<String> s

    JavaのStreamでHaskellのzipっぽいやつ - Qiita
  • JavaのStreamで学ぶ遅延処理実装パターン

    6. Streamの復習 repo.findAllUsers().stream() .filter(User::isMen) .filter(u -> u.getAge() >= 27) .filter(u -> u.getAge() <= 35) .map(User::getHobbies) .flatMap(List::stream) .collect(groupingBy( Hobby::getGenre, counting())); ソース ストリームパイプライン 終端操作 7. Streamの疑問 repo.findAllUsers().stream() .filter(User::isMen) .filter(u -> u.getAge() >= 27) .filter(u -> u.getAge() <= 35) .map(User::getHobbies) .flatMap

    JavaのStreamで学ぶ遅延処理実装パターン
  • Java8 Streamでバリバリやれるようになりたい人のためのFunctional Interfaceまとめ - mike-neckのブログ

    こんにちわ、みけです。 もう、Streamの書きすぎで、 なんだか、for文が書けない身体になってしまいました(大袈裟) というわけで、Streamなのですが、 慣れていないと 「はよ!Supplier<?>、BinaryConsumer<?, ?>をはよ!」 とIDEにせかされて、 あれっ?これってなんだっけ?ってなってしまう のではないかと思います。 というわけで、Streamで使う用途で Functional Interfaceをまとめてみることにしました。 Streamの生成(source)に用いるもの Supplier<T> 引数なしで、オブジェクトを生成するFunctional Interfaceです。 Stream#generateメソッドで利用します。 例 @Test public void supplier_Tのサンプル () { final AtomicInteger

    Java8 Streamでバリバリやれるようになりたい人のためのFunctional Interfaceまとめ - mike-neckのブログ
  • ストリーム

    Javaにおけるデータ入出力の考え方 オブジェクト指向言語であるJavaでは、データの入出力にもクラスを使います。 データの流れをクラスInputStream/OutputStreamのインスタンスとして扱い、 それらに対して読み書きをするのにクラスInputStreamReader/OutputStreamWriterを用います。 上記の図は入力を行う際の概念図ですが、実際にデータ入力を行う際には、 対象とするデータの種類やデータのある場所によって、行うべき処理内容が異なってきます。 例えば、ローカルのディスクに存在するファイルからの読み込みと、 ネットワークを介したサーバの応答の受信では、明らかに処理が異なります。 Javaではオブジェクト指向の特徴を生かし、 入力データ全般に成り立つ性質をクラスInputStreamに持たせ、 それを継承する形で様々な種類の入力データに対応するよう、

  • 1