Java の push()関数

Siddharth Swami 2023年10月12日
  1. Java で stack.push() 関数を使用する
  2. Java で LinkedList.push() 関数を使用する
  3. Java で ArrayList.add() 関数を使用する
  4. Java の配列にユーザー定義の push() 関数を使用する
Java の push()関数

push() 関数の基本的な定義について言えば、それはある構造の最後に要素を挿入する関数になります。この関数は、スタック、リンクリストなどのような後入れ先出し構造に関連付けられています。Java には、配列用の push() 関数がありません。

push() 関数は配列に関連付けられていないため、この関数をすでにサポートしているさまざまなデータ構造を使用できます。

この記事では、Java の push() 関数について説明します。

Java で stack.push() 関数を使用する

スタッククラスの push() 関数を使用できます。このために、スタッククラスを使用するための java.util パッケージをインポートします。

この関数を使用すると、スタックの最後に要素を追加できます。スタックは、任意のタイプにすることができます。

文字列型の stack メソッドを作成します。push() 関数を使用して、要素を 1つずつ追加します。

以下のコードを参照してください。

import java.util.*;
public class Push_Example {
  public static void main(String args[]) {
    Stack<String> st = new Stack<String>();
    st.push("Ram");
    st.push("shayam");
    st.push("sharma");
    System.out.println("Stack Elements: " + st);
    st.push("monu");
    st.push("sonu");
    // Stack after adding new elements
    System.out.println("Stack after using the push function: " + st);
  }
}

出力:

Stack Elements: [Ram, shayam, sharma]
Stack after using the push function: [Ram, shayam, sharma, monu, sonu]

Java で LinkedList.push() 関数を使用する

Java では、push() 関数はリンクリストにも関連付けられています。このためにも、java.util パッケージをインポートします。

LinkedList メソッドを使用して、新しいリンクリストを定義できます。これで、push() 関数を使用して要素を 1つずつ追加できます。

例えば、

import java.util.*;
public class Push_Example {
  public static void main(String args[]) {
    LinkedList<Integer> li = new LinkedList<>();
    li.push(10);
    li.push(11);
    li.push(12);
    li.push(13);
    li.push(14);
    System.out.println("LinkedList Elements: " + li);
    // Push new elements
    li.push(100);
    li.push(101);
    System.out.println("LinkedList after using the push function: " + li);
  }
}

出力:

LinkedList Elements: [14, 13, 12, 11, 10]
LinkedList after using the push function: [101, 100, 14, 13, 12, 11, 10]

Java で ArrayList.add() 関数を使用する

ArrayLists の場合、add() 関数を使用して push() 関数をエミュレートできます。この関数は、指定された ArrayList の最後に要素を追加します。

例えば、

import java.util.*;
public class Push_Example {
  public static void main(String args[]) {
    ArrayList<Integer> li = new ArrayList<>();
    li.add(10);
    li.add(11);
    li.add(12);
    li.add(13);
    li.add(14);
    System.out.println("ArrayList Elements: " + li);
    // Push new elements
    li.add(100);
    li.add(101);
    System.out.println("ArrayList after using the add function: " + li);
  }
}

出力:

ArrayList Elements: [10, 11, 12, 13, 14]
ArrayList after using the add function: [10, 11, 12, 13, 14, 100, 101]

Java の配列にユーザー定義の push() 関数を使用する

Java には配列用の push() 関数はありません。ただし、これをエミュレートする関数を作成することはできます。この関数は、配列の内容をより長い長さの新しい配列にコピーし、この配列に新しい要素を追加します。

以下のコードを参照してください。

import java.util.*;
public class Push_Arr {
  private static String[] push(String[] array, String push) {
    String[] longer = new String[array.length + 1];
    for (int i = 0; i < array.length; i++) longer[i] = array[i];
    longer[array.length] = push;
    return longer;
  }
  public static void main(String args[]) {
    String[] arr = new String[] {"a", "b", "c"};
    arr = Push_Arr.push(arr, "d");
    System.out.println("Array after using the push function: ");
    for (int i = 0; i < arr.length; i++) System.out.println(arr[i]);
  }
}

出力:

ArrayList after using the add function: 
a
b
c
d

このメソッドは目的の出力を提供しますが、配列要素をコピーするためにループを実行するため、ほとんど使用されません。そのため、より大きな配列を処理する場合、多くの時間とメモリが必要になります。

関連記事 - Java Array