Javaのジェネリクス:型安全なコレクションと通配符の実践
ジェネリクスの基本概念
Javaのコレクションは初期段階ではすべてのオブジェクトをObject型として扱いました。このため、要素を取り出すたびに明示的なキャストが必要になり、型不一致によるClassCastExceptionのリスクが高まりました。ジェネリクスは、コンパイル時に型安全性を保証し、ランタイムでのキャストエラーを回避する仕組みです。
ジェネリッククラスの定義
ジ ...
8月3日 16:29 投稿
マップの4つのコレクション走査方法
HashMap<K,V>はハッシュテーブル構造を使用してデータを格納し、要素の挿入順序と取得順序が一致しない(挿入した順番に必ずしも取り出せない);
LinkedHashMap<K,V>はハッシュテーブル構造とリスト構造を組み合わせてデータを格納する。リスト構造により、要素の挿入順序と取得順序が一致する(挿入順に取り出す);
二、カスタムクラスによる走査
getメソッ ...
8月3日 02:32 投稿
JavaにおけるMapコレクションの特性と実装方法
一、Mapコレクションの特徴:
1.Mapコレクションは二重のコレクションであり、一つの要素が二つの値(キー、値)を含みます;
2.Mapコレクションの要素において、キーと値のデータ型は同じでも異なっても構いません;
3.Mapコレクションの要素において、キーは重複できませんが、値は重複可能です;
4.Mapコレクションの要素において、キーと値は一対一で対応しています;
...
7月31日 06:52 投稿
.NETにおける並列コレクションの活用
BlockingCollection
`BlockingCollection<T>`は、.NETで最も役立つ並列コレクションの一つです。第7章で見たように、`BlockingCollection<T>`は.NETの生産者/消費者パターンの実装として作成されています。異なる種類のサンプルプロジェクトを作成する前に、このコレクションのいくつかの詳細を確認しましょう。
BlockingCollectionの詳細
並列コードを実 ...
7月23日 21:52 投稿
MongoDBのクライアントツール、基本概念、データ型の解説
MongoDBとは
MongoDBは、汎用的なドキュメント指向の分散データベースです。JSONライクな形式(BSON)でデータを格納し、スキーマの柔軟性と高いスケーラビリティを提供します。公式サイトでは「現代のアプリケーション開発者とクラウド時代のために構築された」と説明されています。
代表的なクライアントツール
MongoDB Compass(公式・無料): GUIツール。クエリ、集 ...
6月22日 16:35 投稿
Map インターフェースの完全解説
Map インターフェースの概要
Map インターフェースは、キーと値のペアを管理するための双列コレクションです。Java では、Map インターフェースを実装するクラスとして以下が主に使用されます:
HashMap (非スレッドセーフ)
HashTable (スレッドセーフ)
TreeMap (非スレッドセーフ)
LinkedHashM ...
6月14日 00:13 投稿
MongoDBデータベースの作成と基本操作
MongoDBデータベースの作成
多くのリレーショナルデータベースでは、まずデータベースを作成し、その中でテーブルを作成しデータを挿入する必要があります。しかし、MongoDBでは、データを挿入時に存在しないデータベースを指定すると、MongoDBが自動的にそのデータベースを作成します。そのため、MongoDBでデータベースを作成するのは非常に簡単で、データを挿入時に新し ...
6月12日 18:52 投稿
LinkedList ソースコード解析
内部構造と特徴
LinkedList は内部的にダブルリンクリスト(双方向リスト)によって実装されており、List インターフェースと Deque インターフェースの両方を実装しています。このため、LinkedList はリストとして扱うことができるだけでなく、キュー(Queue)やスタック(Stack)としても利用可能です。
ただし、スタックやキューとして使用する場合には ArrayDeque の使 ...
5月23日 21:39 投稿
Javaアルゴリズム入門:基本データ構造とコレクション操作
基本フォーマット
//Javaプログラムの基本構造
public class AlgorithmBasics {
public static void main(String[] arguments) {
//変数宣言
int number = 100;
long bigNumber = Long.MAX_VALUE - 500L;
//出力処理
System.out.print(number); //改行なし出力
System.out.println(bigNumber); //改行あ ...
5月22日 23:00 投稿