Java

スポンサーリンク
Java

Java 逆引き集 | ストリームでの例外処理パターン(ラップ処理) — checked 例外の扱い

ストリームでの例外処理パターン(ラップ処理) — checked 例外の扱いStream のラムダは基本的に checked 例外を投げられません。ファイルやネットワークなどの I/O をストリームの...
Java

Java 逆引き集 | Optional を返すストリーム処理パターン — null 安全

Optional を返すストリーム処理パターン — null 安全Java の Stream API は「結果があるかどうか分からない」処理をするときに Optional を返すメソッドを備えています...
Java

Java 逆引き集 | ファイルの行ストリーム処理(Files.lines) — 大規模ファイル処理

ファイルの行ストリーム処理(Files.lines) — 大規模ファイル処理Java NIO の Files.lines(Path) は、テキストファイルを 1行ずつストリームとして処理できる便利なメ...
Java

Java 逆引き集 | peek の使い方(デバッグ) — 中間ログ

peek の使い方(デバッグ) — 中間ログストリームの「途中」を覗いて、要素がどう変わっているかを確認するのが peek。中間操作としてログを差し挟めるので、フィルタや変換の結果を安全に観察できます...
Java

Java 逆引き集 | Stream 並列化の落とし穴(副作用) — スレッド安全性

Stream 並列化の落とし穴(副作用) — スレッド安全性Java の Stream API は .parallelStream() や .parallel() を使うと簡単に並列化できます。しかし...
Java

Java 逆引き集 | Collectors.toMap の衝突解決(mergeFunction) — Map 化での安全対策

Collectors.toMap の衝突解決(mergeFunction) — Map 化での安全対策Stream を Map に変換するとき、キー重複があると例外になります。Collectors.t...
Java

Java 逆引き集 | Stream.iterate(Java 9 の変化) — シーケンス生成

Stream.iterate(Java 9 の変化) — シーケンス生成Java 8 から導入された Stream.iterate は「初期値から次の値を生成していく」ための便利なメソッドです。Jav...
Java

Java 逆引き集 | range / rangeClosed(数値ストリーム) — 反復生成

range / rangeClosed(数値ストリーム) — 反復生成IntStream/LongStream には数値の連続を作るための range 系メソッドがあり、for ループより短く安全に「...
Java

Java 逆引き集 | IntStream/LongStream/DoubleStream(プリミティブストリーム) — オートボクシング回避

IntStream / LongStream / DoubleStream(プリミティブストリーム) — オートボクシング回避Java の Stream API には、Stream<Integer> ...
Java

Java 逆引き集 | anyMatch/allMatch/noneMatch — 条件検査

anyMatch / allMatch / noneMatch — 条件検査Stream API の終端操作である anyMatch / allMatch / noneMatch は、ストリームの要素...
Java

Java 逆引き集 | max/min/findFirst/findAny — 候補抽出

max / min / findFirst / findAny — 候補抽出Stream API には「候補をひとつ取り出す」ための便利な終端操作がいくつかあります。max/min は「最大値・最小値...
Java

Java 逆引き集 | summarizingInt/Long/Double — 統計情報を一発取得

summarizingInt / summarizingLong / summarizingDouble — 統計情報を一発取得Stream API の Collectors.summarizingI...
Java

Java 逆引き集 | partitioningBy(true/false に分割) — 二分集計

partitioningBy(true/false に分割) — 二分集計Stream API の Collectors.partitioningBy は「条件に合うかどうか」で true/false...
Java

Java 逆引き集 | joining(Collectors.joining) — 文字列結合

joining(Collectors.joining) — 文字列結合Stream API の Collectors.joining は、ストリームの要素を 文字列として結合するための便利な終端操作で...
Java

Java 逆引き集 | collect(Collectors.groupingBy(…)) — グルーピング集計

collect(Collectors.groupingBy(...)) — グルーピング集計Stream API の collect(Collectors.groupingBy(...)) は「キーご...
Java

Java 逆引き集 | reduce の使い方(集約) — 合算や累積計算

reduce の使い方(集約) — 合算や累積計算Stream の「結果をひとつに畳み込む」終端操作が reduce。合計・積・最大最小・連結・カスタム集約まで、柔軟に一行で書けます。初心者が迷う「初...
Java

Java 逆引き集 | distinct / limit / skip — 重複排除・ページング処理

distinct / limit / skip — 重複排除・ページング処理Stream API の中間操作でよく使うのが distinct(重複排除)、limit(先頭から指定件数だけ残す)、ski...
Java

Java 逆引き集 | filter・map・flatMap の使い分け — 条件絞りと展開

filter・map・flatMap の使い分け — 条件絞りと展開「要素を絞る・変換する・入れ子をほどく」をそれぞれ得意とするのが filter、map、flatMap。違いが腹落ちすると、無駄な中...
Java

Java 逆引き集 | Intermediate / Terminal 操作の理解 — パイプライン設計

Intermediate / Terminal 操作の理解 — パイプライン設計ストリームは「中間操作で加工し、終端操作で結果を取り出す」流れで動きます。中間は“つなぐ”、終端は“決着させる”。この違...
Java

Java 逆引き集 | Stream API の基本(stream(), filter, map, collect) — データ変換

Stream API の基本(stream(), filter, map, collect) — データ変換Java 8 以降で導入された Stream API は「コレクションを宣言的に処理する」た...
Java

Java 逆引き集 | Iterator vs Stream の使い分け(遅延評価・メモリ) — 性能設計

Iterator vs Stream の使い分け(遅延評価・メモリ) — 性能設計「大量データをどう処理するか」は設計の肝。Iterator は手続き的で軽量、Stream は宣言的で強力(遅延評価・...
Java

Java 逆引き集 | バッチ処理用チャンク分割(partitioning) — メモリ制御

バッチ処理用チャンク分割(partitioning) — メモリ制御大量データを「少しずつ」処理することで、メモリ使用量と失敗リスクを抑えるのがチャンク分割です。固定サイズで区切って読み・変換・書き込...
Java

Java 逆引き集 | 多次元配列と List<List<T>> の使い分け — 可変性と利便性

多次元配列と List<List<T>> の使い分け — 可変性と利便性Java では「二次元以上のデータ構造」を表す方法が大きく分けて2つあります。多次元配列(int, String など)入れ子の...
Java

Java 逆引き集 | Guava / Apache Commons Collections の利用(拡張ユーティリティ) — 実務ツール

Guava / Apache Commons Collections の利用(拡張ユーティリティ) — 実務ツール標準 Java コレクション API は基本的な機能を提供しますが、実務では「もう少し...
Java

Java 逆引き集 | Collections.newSetFromMap(Map を Set に変換) — カスタム Set 実装

Collections.newSetFromMap(Map を Set に変換) — カスタム Set 実装Java には Collections.newSetFromMap(Map<E,Boolea...
Java

Java 逆引き集 | ThreadLocal を使ったスレッド依存データ管理 — スレッド単位の状態

ThreadLocal を使ったスレッド依存データ管理 — スレッド単位の状態同じ変数名でも、各スレッドが「自分専用の値」を持てるのが ThreadLocal。リクエスト単位のトレースID、フォーマッ...
Java

Java 逆引き集 | Map の null キー/値対応(実装差) — 入出力検証

Map の null キー/値対応(実装差) — 入出力検証Map は実装ごとに「null を許すか」が違います。キーに null を入れると検索や equals/hashCode まわりで混乱しやす...
Java

Java 逆引き集 | コレクション間の差分(removeAll, retainAll) — 差分集計

コレクション間の差分(removeAll, retainAll) — 差分集計差分を取りたいときの定番が removeAll(差集合の除去)と retainAll(共通部分の保持)。どちらも「破壊的(...
Java

Java 逆引き集 | バッファ付きコレクション(LinkedList の代替) — メモリ/性能の考慮

バッファ付きコレクション(LinkedList の代替) — メモリ/性能の考慮「バッファ用途(キュー、先頭・末尾の出し入れ、スライディングウィンドウ)」で LinkedList を選びがちですが、実...
Java

Java 逆引き集 | トポロジカルソート(グラフ→依存解決) — ビルド順や依存解決

トポロジカルソート(グラフ→依存解決) — ビルド順や依存解決「依存関係を持つタスクを順序付けする」典型アルゴリズムが トポロジカルソート。Java での実装は、有向非巡回グラフ(DAG) を前提に、...
スポンサーリンク