Java の山かっこ

Sheeraz Gul 2023年10月12日
  1. Java の山かっこ (<>)
  2. Java の組み込みデータ型での山かっこ (<>) の使用
Java の山かっこ

山かっこは、Java で Generics を定義するために使用されます。 ジェネリックは、クラス、メソッド、またはインターフェイスをパラメーター化する方法です。

たとえば、ArraylistHashMapHashset などの型はジェネリックを使用します。 ジェネリックは、任意の型にも使用できます。

このチュートリアルでは、Java の山かっこ (<>) とは何か、およびその使用方法について説明します。

Java の山かっこ (<>)

例を見てみましょう。 不特定のオブジェクトタイプを受け入れる Delftstack という名前のクラスがあります。 次に、フィールド EmployeeSalary があり、これも任意のオブジェクト タイプを受け入れます。

最後に、パラメーター化されたコンストラクターを宣言して、従業員の給与を出力します。 給与が整数、浮動小数点、倍精度、または文字列などであるかどうかは、ユーザーが決定します。

コード:

package delftstack;

public class Delftstack<T> {
  T EmployeeSalary;

  public Delftstack(T EmployeeSalary) {
    this.EmployeeSalary = EmployeeSalary;
  }

  public void print() {
    System.out.println("The Employee Salary is: " + this.EmployeeSalary);
  }
  public static void main(String[] args) {
    int EmployeeSalary = 1000;
    Delftstack Demo = new Delftstack(EmployeeSalary);
    Demo.print();
  }
}

上記のコードでは、クラス名に <T> を使用しています。 ここでは、T の代わりに何でも使用できます。

出力:

The Employee Salary is: 1000

前述のように、<T> はどの型にも使用されます。 特定の型を表すその他の一般的な用語もいくつかあります。これらの用語については、以下で説明します。

  1. <T> は任意の型と呼ばれます。
  2. <E> は要素タイプと呼ばれます。
  3. <N> は数値型と呼ばれます。
  4. <V> は値と呼ばれます。
  5. <K> はキーと呼ばれます。

Java でジェネリック <> を使用することのいくつかの重要な利点を以下に示します。

  • 再利用性: 達成しようとしているタスクに基づいてオブジェクト タイプを適用するため、ジェネリック メソッド、インターフェイスのクラスを複数回使用できます。
  • より良い出力: 指定したものとは異なるオブジェクト型を使用すると、コンパイラは時間通りに教えてくれます。
  • データ構造に最適: ジェネリックは、ArraylistHashmap などのデータ構造に最適です。

Java の組み込みデータ型での山かっこ (<>) の使用

前述のように、<> は ArrayListHashMapHashSet などの組み込みクラスでも使用されます。 これら 3つのデータ型の例を試してみましょう。

コード:

package delftstack;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;

public class Delftstack<T> {
  public static void main(String[] args) {
    ArrayList<String> Demo_List = new ArrayList<String>();
    Demo_List.add("Delftstack1");
    Demo_List.add("Delftstack2");
    Demo_List.add("Delftstack3");
    System.out.println(Demo_List);

    HashMap<String, Integer> Demo_Map = new HashMap<String, Integer>();
    Demo_Map.put("Jack", 1000);
    Demo_Map.put("Mike", 1500);
    Demo_Map.put("Michelle", 1800);
    System.out.println(Demo_Map);

    HashSet<String> Demo_Set = new HashSet<String>();
    Demo_Set.add("Delftstack1");
    Demo_Set.add("Delftstack2");
    Demo_Set.add("Delftstack3");
    System.out.println(Demo_Set);
  }
}

山かっこ (<>) は、ArrayListHashMap、および HashSet のデータ型を定義します。

出力:

[Delftstack1, Delftstack2, Delftstack3]
{Michelle=1800, Mike=1500, Jack=1000}
[Delftstack1, Delftstack2, Delftstack3]
著者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

関連記事 - Java Generics