HOWTO · Java
Java の山かっこ
このチュートリアルでは、山かっこ(<>) の意味と Java での使用方法を示します。
山かっこは、Java で Generics を定義するために使用されます。 ジェネリックは、クラス、メソッド、またはインターフェイスをパラメーター化する方法です。
たとえば、Arraylist、HashMap、Hashset などの型はジェネリックを使用します。 ジェネリックは、任意の型にも使用できます。
このチュートリアルでは、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> はどの型にも使用されます。 特定の型を表すその他の一般的な用語もいくつかあります。これらの用語については、以下で説明します。
<T>は任意の型と呼ばれます。<E>は要素タイプと呼ばれます。<N>は数値型と呼ばれます。<V>は値と呼ばれます。<K>はキーと呼ばれます。
Java でジェネリック <> を使用することのいくつかの重要な利点を以下に示します。
- 再利用性: 達成しようとしているタスクに基づいてオブジェクト タイプを適用するため、ジェネリック メソッド、インターフェイスのクラスを複数回使用できます。
- より良い出力: 指定したものとは異なるオブジェクト型を使用すると、コンパイラは時間通りに教えてくれます。
- データ構造に最適: ジェネリックは、
ArraylistやHashmapなどのデータ構造に最適です。
Java の組み込みデータ型での山かっこ (<>) の使用
前述のように、<> は ArrayList、HashMap、HashSet などの組み込みクラスでも使用されます。 これら 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);
}
}
山かっこ (<>) は、ArrayList、HashMap、および HashSet のデータ型を定義します。
出力:
[Delftstack1, Delftstack2, Delftstack3]
{Michelle=1800, Mike=1500, Jack=1000}
[Delftstack1, Delftstack2, Delftstack3]