スポンサーリンク
Java

Java 逆引き集 | 自然順序付け(Comparable) — デフォルトソート

自然順序付け(Comparable) — デフォルトソートJava の「自然順序付け」は、クラスが Comparable インターフェースを実装している場合に使われる「デフォルトの並び替えルール」です...
Java

Java 逆引き集 | Comparator の作り方(comparing, reversed, thenComparing) — ソートルール

Comparator の作り方(comparing, reversed, thenComparing) — ソートルール「主キー→副キー→さらに副キー」と、明快に並び替えルールを書けるのが Compa...
Java

Java 逆引き集 | FlatMap を使ったネスト解除 — ネスト構造展開

FlatMap を使ったネスト解除 — ネスト構造展開「配列の中に配列」「リストの中にリスト」「Optional の中に Optional」など、入れ子になった構造を一段に平らにするのが flatMa...
Java

Java 逆引き集 | PartitioningBy / GroupingBy(Collectors) — 集計・グループ化

PartitioningBy / GroupingBy(Collectors) — 集計・グループ化Stream の終端操作 collect における定番が partitioningBy(2分割)と ...
Java

Java 逆引き集 | Stream.collect(Collectors.toList()/toSet()/toMap()) — ストリーム結果変換

Stream.collect(Collectors.toList()/toSet()/toMap()) — ストリーム結果変換Stream の終端操作である collect は、加工した要素を Lis...
Java

Java 逆引き集 | Collections.frequency / disjoint などユーティリティ — コレクション比較

Collections.frequency / disjoint などユーティリティ — コレクション比較配列やリスト、セット同士を「重複数の比較」「共通要素の有無」「部分一致」などで比べたいとき、j...
Java

Java 逆引き集 | CopyOnWriteArrayList(読み取り多い並列環境) — 読み取り優先

CopyOnWriteArrayList(読み取り多い並列環境) — 読み取り優先書き込み時に「配列のコピー」を作って更新し、読み取りや反復を常に安全にするのが CopyOnWriteArrayLis...
Java

Java 逆引き集 | ConcurrentLinkedQueue(ロックフリーキュー) — 高スループット

ConcurrentLinkedQueue(ロックフリーキュー) — 高スループット複数スレッドから同時に追加・取得しても待ち時間がほぼ発生しない、ロックフリーな待ち行列が ConcurrentLin...
Java

Java 逆引き集 | IdentityHashMap(== でキー比較) — 特殊用途

IdentityHashMap(== でキー比較) — 特殊用途IdentityHashMap は Java の特殊な Map 実装で、キーの比較に equals() ではなく ==(参照同一性) を...
Java

Java 逆引き集 | WeakHashMap の利用ケース(キャッシュと GC) — メモリリーク防止

WeakHashMap の利用ケース(キャッシュと GC) — メモリリーク防止WeakHashMap は「キーを弱参照で保持する Map」。キーへの強参照が外部で途切れると、GC(ガベージコレクショ...
Java

Java 逆引き集 | NavigableMap / NavigableSet(近傍検索) — 前後関係の取得

NavigableMap / NavigableSet(近傍検索) — 前後関係の取得NavigableMap と NavigableSet は、ソート済みのデータ構造に「近傍検索(前後関係の取得)」...
Java

Java 逆引き集 | Deque(ArrayDeque) — 両端操作、高速スタック/キュー

Deque(ArrayDeque) — 両端操作、高速スタック/キューJava の Deque(Double Ended Queue)は「両端から追加・削除できる」データ構造です。代表的な実装が Ar...
Java

Java 逆引き集 | PriorityQueue(優先度キュー) — ジョブスケジューラ

PriorityQueue(優先度キュー) — ジョブスケジューラ優先度で「先に処理すべきもの」から取り出せるのが PriorityQueue。デフォルトでは最小値が先頭の最小ヒープ構造で、自然順また...
Java

Java 逆引き集 | イミュータブルコレクション(List.of, Map.of) — 不変の集合

イミュータブルコレクション(List.of, Map.of) — 不変の集合Java 9 以降では、List.of, Set.of, Map.of などの イミュータブル(不変)コレクション を簡単に...
Java

Java 逆引き集 | MultiMap パターン(Map>) — 1対多管理

MultiMap パターン(Map<K, List<V>>) — 1対多管理Java の標準ライブラリには「MultiMap」というクラスはありません。しかし「1つのキーに複数の値を紐付けたい」場面は...
Java

Java 逆引き集 | Map のストリーム処理(entrySet→stream) — キー/値単位処理

Map のストリーム処理(entrySet→stream) — キー/値単位処理Mapは「キー→値」のペアを扱う構造。Stream APIと組み合わせると、条件抽出、並べ替え、集計が短く安全に書けます...
Java

Java 逆引き集 | Map.computeIfAbsent / compute / merge — 集計ロジック簡潔化

Map.computeIfAbsent / compute / merge — 集計ロジック簡潔化「存在チェック→取得→更新→再格納」の冗長なコードを、1行の原子操作で置き換えるのが computeI...
Java

Java 逆引き集 | Collections.synchronizedList 等(同期ラッパー) — 古い同期方法

Collections.synchronizedList 等(同期ラッパー) — 古い同期方法読み書きが同時に起きる環境で、既存の可変コレクションを「ひとまず安全に」使いたいときに使うのが同期ラッパー...
Java

Java 逆引き集 | Arrays クラスユーティリティ(sort / binarySearch) — 配列操作

Arrays クラスユーティリティ(sort / binarySearch) — 配列操作配列の並べ替えと検索は「まずソートしてから二分探索」が基本。Java の java.util.Arrays は...
Java

Java 逆引き集 | Collections.shuffle / sort / reverse — リスト操作ユーティリティ

Collections.shuffle / sort / reverse — リスト操作ユーティリティリストの「並び替え」「逆順」「ランダム化」を一発でやれるのが Collections ユーティリテ...
Java

Java 逆引き集 | Collections.unmodifiableList 等(読み取り専用ラッパー) — API 返却時の安全性

Collections.unmodifiableList 等(読み取り専用ラッパー) — API 返却時の安全性外部にコレクションを返すとき「勝手に書き換えられない」ようにするのが読み取り専用ラッパー...
Java

Java 逆引き集 | ConcurrentHashMap (スレッド安全な Map) — マルチスレッド環境

ConcurrentHashMap(スレッド安全な Map) — マルチスレッド環境並行処理で「キー→値」を共有したいなら、まずは ConcurrentHashMap。ロックを最小限に抑えた設計で、高...
Java

Java 逆引き集 | EnumMap / EnumSet の活用(enum 最適化) — 小さい高速マップ/集合

EnumMap / EnumSet の活用(enum 最適化) — 小さい高速マップ/集合Java には「列挙型(enum)」専用に最適化されたコレクションが用意されています。それが EnumMap ...
Java

Java 逆引き集 | HashSet の特性と重複排除 — 一意性保持

HashSet の特性と重複排除 — 一意性保持Java の HashSet は「重複を許さない集合」を表すクラスです。初心者が理解すべきポイントは「一意性保持」「順序が保証されない」「検索が速い」と...
Java

Java 逆引き集 | TreeMap(ソートされた Map) — 範囲検索

TreeMap(ソートされた Map) — 範囲検索TreeMap は Java の Map 実装のひとつで、キーを自動的にソートして保持するのが特徴です。初心者が理解すべきポイントは「キーが常に昇順...
Java

Java 逆引き集 | LinkedHashMap(挿入順/アクセス順保持) — LRU 実装の簡易版

LinkedHashMap(挿入順/アクセス順保持) — LRU 実装の簡易版Java の LinkedHashMap は、HashMap に「順序保持機能」を追加したものです。初心者が理解すべきポイ...
Java

Java 逆引き集 | HashMap の基本(キーのハッシュ化) — 索引付き検索

HashMap の基本(キーのハッシュ化) — 索引付き検索Java で「キーと値のペア」を効率的に管理する代表的なコレクションが HashMap です。初心者が理解すべきポイントは「キーをハッシュ化...
Java

Java 逆引き集 | LinkedList の使いどころ(頻繁な先頭/中間挿入) — キュー実装

LinkedList の使いどころ(頻繁な先頭/中間挿入) — キュー実装Java で「リスト構造」を扱うとき、ArrayList と LinkedList が代表的です。初心者が理解すべきポイントは...
Java

Java 逆引き集 | ArrayList の使いどころと性能(ランダムアクセス重視) — 一覧管理

ArrayList の使いどころと性能(ランダムアクセス重視) — 一覧管理Java で「一覧管理」をする際によく使うのが ArrayList。初心者がまず理解すべきは「どんな場面で使うか」「性能の特...
Excel VBA

Excel VBA 逆引き集 | 高速集計テンプレ

高速集計テンプレ「明細が数万行あるけど、部署別や月次別に一瞬で集計したい」——そんな場面で役立つのが 配列+辞書 を使った高速集計テンプレです。セルを1行ずつ操作するのではなく、範囲を一度に配列に読み...
スポンサーリンク