Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ データ構造入門 | Javaの基本データ構造
Javaデータ構造
セクション 1.  1
single

single

bookデータ構造入門

メニューを表示するにはスワイプしてください

Javaデータ構造へようこそ!このコースは、Java開発者データ構造の理解を深め、コーディング効率を高めることを目的としています。

このコースは初心者向けではありません。これまでの3つのJavaコースを修了していない場合、難しく感じるかもしれません。

このコースを最大限に活用するために、まずそれらを修了してからJavaデータ構造に進むことを強く推奨します。

コレクションとは何か、なぜ必要なのか

Javaのコレクションは、非常に頻繁に使用されるデータ構造の一つです。データ構造とは、さまざまなデータ型を格納する方法です。

簡単に言えば、コレクションは特定の型のデータや変数のリストです。
配列静的であり、初期化時に固定サイズが定義されますが、コレクション動的配列と考えることができます。要素が追加されると拡張されます。そのため、リストに要素を追加すると、リストのサイズが増加し、すべての要素を格納できるようになります。

コレクションは、データベースの仕組みを理解するのに役立つ概念。コレクションを使うことで、大量のデータを保存可能。コレクションには、異なるクラスのオブジェクトも格納できる。さらに、配列コレクションに保存でき、大量データの管理に便利な方法。

ラッパークラス

コレクションを扱う際に重要なのは、コレクションはプリミティブ型を直接扱えないという点。コレクションはオブジェクトを対象とする。単純な数値や文字を保存する場合、プリミティブ型用のラッパークラスを利用する必要がある。

プリミティブ型intcharfloatbooleanなど)はオブジェクトではなく、場合によってはオブジェクトとして扱う必要がある。たとえば、コレクションやオブジェクトを期待するクラスで利用する場合など。ラッパークラスは、各プリミティブ型に対応するオブジェクト指向のラッパーを提供。

こちらはプリミティブ型のためのラッパークラスの一覧です:

これらのクラスは、プリミティブ型オブジェクト間の変換のためのメソッドや、比較算術演算など値を扱うためのさまざまな機能を提供します。

いくつかのラッパークラスの使用例を見てみましょう:

Main.java

Main.java

copy
1234567891011
package com.example; public class Main { public static void main(String[] args) { Integer wrap = 15; // Autoboxing: converting a primitive int to an `Integer` object int prim = wrap; // Unboxing: converting an `Integer` object back to a primitive int int result = wrap.compareTo(prim); // Using the `compareTo` method of the `Integer` class System.out.println(result); } }

上記のコードでは、Integer クラスのオブジェクトを作成し、通常の数値で初期化しました。これはオートボクシングの例です。次に、プリミティブ型の int を作成し、ラッパーの値を代入しました。これがアンボクシングと呼ばれます。

ここから、オートボクシングはプリミティブデータ型をラッパークラスのオブジェクト自動変換することであると理解できます。一方、アンボクシングはラッパークラスのオブジェクトをプリミティブデータ型に自動変換することです。

また、比較メソッドの使い方も示しています。このメソッドは値が等しい場合は 0、左側の値が右側より大きい場合は 1、左側の値が小さい場合は -1 を返します。

ラッパークラスには多くの便利なメソッドがあります。ここですべてを扱うことはありませんが、IDEで調べてみてください。

タスク

スワイプしてコーディングを開始

upgrade_comparing メソッドを完成させ、compareTo() メソッドを使用して比較結果に応じた説明的なメッセージを返してください。

  1. compareTo() に対して left_value メソッドを呼び出し、引数として right_value を渡します。
  2. 結果を変数 comparingResult に格納します。
  3. この結果を処理するために switch 文を使用します:
    • 結果が -1 の場合、変数 result"The right value is greater" を代入します。
    • 結果が 0 の場合、変数 result"The values are equal" を代入します。
    • 結果が 1 の場合、変数 result"The left value is greater" を代入します。
  4. もしこれらの値のいずれにも一致しない場合は、"Error" を出力します。
  5. メソッドから変数 result を返します。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  1
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt