JavaにおけるHashMapとArrayListの基本的な操作方法

Javaコレクションフレームワークの概要 Javaのコレクションフレームワークは主に以下の2つのカテゴリに分類されます: Collectionインターフェース: 単一要素のコレクション Listインターフェース: 順序あり、重複可能なデータ → ArrayList, LinkedList, Vector Setインターフェース: 順序なし、重複不可のデータ → HashSet, TreeSet, LinkedHashS ...

6月20日 00:21 投稿

Map インターフェースの完全解説

Map インターフェースの概要 Map インターフェースは、キーと値のペアを管理するための双列コレクションです。Java では、Map インターフェースを実装するクラスとして以下が主に使用されます: HashMap (非スレッドセーフ) HashTable (スレッドセーフ) TreeMap (非スレッドセーフ) LinkedHashM ...

6月14日 00:13 投稿

LeetCode 49題 - 文字列のアナグラムグループ化(Java実装)

文字列49 49. 文字列のアナグラムグループ化 問題記述 文字列の配列が与えられるので、アナグラムを同じグループにまとめなさい。結果のリストは任意の順序で返して構いません。 アナグラムとは、元の単語のすべての文字を並び替えて作られる新しい単語のことです。 例1: 入力: strs = ["eat", "tea", "tan", "ate", "nat&qu ...

5月21日 04:03 投稿

二分探索木とハッシュ表

二分探索木の概念 二分探索木は、空の木または以下の性質を持つ二分木です。 左部分木が空でない場合、左部分木のすべてのノードの値は根ノードの値より小さい。 右部分木が空でない場合、右部分木のすべてのノードの値は根ノードの値より大きい。 左右の部分木もまた二分探索木である。 TreeSetやTreeMapは内部的に赤黒木(平衡二分探索木)を使用しており、中間順巡回 ...

5月21日 01:14 投稿

ハッシュテーブルの実装とアルゴリズム応用:基礎から競技プログラミング問題への適用まで

ハッシュテーブルの仕組みと実装 基本構造の構築 ハッシュ値の生成手法は一旦置き、ハッシュ値が外部から与えられる前提でハッシュテーブルの骨組みを実装する。内部では配列と連結リストを用いてキーと値のペアを管理する。 public class CustomHashMap { static class Node { int code; Object key; Object val; Node next; ...

5月20日 12:47 投稿

Java HashMapの内部構造と主要メカニズム徹底解説

HashMapの基本特性 HashMapはハッシュテーブルを基盤としたMapインターフェースの実装であり、キーと値のペアを格納する。非同期処理を前提としているためスレッドセーフではなく、キーと値の両方にnullを許容する。また、要素の格納順序は保証されない。 JDK 1.8以降、データ構造は大幅に改善された。以前は「配列+リスト」で構成されていたが、衝突(ハッシュ値が同一に ...

5月14日 13:44 投稿