Javaコレクションフレームワークの基礎: List, Map, Set

前回はJavaの三大特性(カプセル化、継承、ポリモーフィズム)について復習しました。今回はコレクションフレームワークを解説します。 コレクションの概要 Javaの開発では、基本データ型やStringオブジェクトに加えて、コレクション関連のクラスを頻繁に利用します。コレクションクラスはオブジェクト自体ではなく、オブジェクトへの参照を格納します。本記事では説明の ...

7月22日 04:09 投稿

Pythonの変数、コンテナ、真偽値、展開アサインの実践ガイド

変数・メモリ管理の再確認 Pythonで状態を表現する「変数」は「名前」と「値」のペアで構成される。名前は意味を持ち、英数字とアンダースコアのみ使用し数字で始めてはならない。定数は慣習的に変更しないものだが、実際には変更可能である。 値は参照カウントで管理され、0になるとガベージコレクションが解放する。起動時に[-5,256]の整数は固定アドレスで共有される小 ...

7月14日 00:20 投稿

C++におけるvectorとlistの違い

vectorとlistはC++標準テンプレートライブラリ(STL)で提供されるコンテナであり、それぞれ異なる特性を持っています。ここではそれらの主な違いを説明します。 メモリ構造 list: 双方向リストとして実装されており、メモリ領域は非連続です。 長所: 挿入や削除が効率的です。データの移動は不要で、ポインタの変更のみで処理が可能です。 ...

7月4日 20:51 投稿

Javaで2つのリストの同等性を評価する

Javaで2つのリストが同等であるかどうかを判断することは、一般的なタスクです。リストの内容が完全に一致するかどうかを確認したい場合や、順序を問わずに要素が同じであるかどうかだけを知りたい場合があります。ここでは、Javaで2つのリストの同等性を評価するいくつかの方法を、コード例とともに紹介します。 問題定義 2つのリストがあり、それらが同等であるかを判断 ...

6月28日 16:03 投稿

Pythonのリストとタプルの基本操作

リストの作成と基本操作 リストはPythonで最もよく使われるデータ構造の一つです。以下のようにさまざまな方法で作成できます。 items = ['apple', 'banana', 'orange'] print(items) # 文字列からリストを作成 chars = list('programming') numbers = list(range(2, 15, 4)) # 2から15まで、ステップ4(15を含まない) print(chars) print(numbers) # リストの結合と ...

6月24日 16:31 投稿

Pythonリストの基本操作と使い方

要素の検索と確認 index(x) は、リスト内で最初に見つかった値 x のインデックスを返します。 items = ['apple', 'banana', 'cherry'] print(items.index('banana')) # 出力: 1 count(x) は、リスト内に含まれる値 x の出現回数を返します。 values = [1, 2, 2, 3, 2, 4] print(values.count(2)) # 出力: 3 in 演算子は、指定した要素がリストに存在するかどうかを真 ...

6月16日 23:53 投稿

Pythonの基本データ型と操作手法

文字列(str)の取り扱い 文字列はシーケンス型に分類され、連続したメモリ領域に格納された複数の文字から構成されます。各文字にはインデックス(添字)が割り当てられ、位置を指定してアクセス可能です。 負のインデックスの使用 Pythonでは、末尾からの参照を可能にする負のインデックスがサポートされています。たとえば、-1は最後の要素を指します。 s = "python s ...

6月4日 20:01 投稿

Java Arrays.asListが引き起こす3つの典型的な問題

問題1:プリミティブ型配列をリストに変換する際の落とし穴 Arrays.asList()メソッドはジェネリックメソッドであり、その引数はオブジェクトの配列(T[])を期待しています。しかし、Javaのプリミティブ型(int, doubleなど)はオブジェクトではありません。そのため、プリミティブ型の配列をこのメソッドに渡すと、配列全体が単一の要素として扱われてしまいます。 public ...

6月1日 18:33 投稿

Java Listインタフェースの実装と動作原理

Listインタフェースの基本特性 java.util.ListインタフェースはCollectionを継承し、順序付きのシーケンスとして機能します。主な特徴は以下の通りです: 要素の順序を保持し、追加順序が保存されます インデックスを用いた要素のアクセスが可能です 重複した要素の保存が許可されます null値の要素を保存できます Listインタフェースの主要メソッド 以下のメソッドが定 ...

5月22日 17:44 投稿

Pythonの基礎文法と主要データ構造の使い方

モジュールのインポートとエイリアスPythonではimport文を使用してモジュールを読み込みます。asキーワードを用いることで、モジュールに別名(エイリアス)を付けることが可能です。これにより、コード記述量を減らし、可読性を高めることができます。import math as m # mathモジュールのsqrt関数をエイリアス 'm' 経由で呼び出す result = m.sqrt(25) print(result) # ...

5月14日 07:09 投稿