Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误和异常

Java 多线程

Java 同步

Java 网络编程

Java 集合

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 杂项

Java API 和框架

Java 类引用

Java 有用资源

Java Deque push() 方法



Java Deque push(E e) 方法将元素 E 推入由该 deque 表示的堆栈中。实质上,它是在 Deque 对象的前面添加元素。

声明

以下是 java.util.Deque.push() 方法的声明

public void push(E e)

参数

e − 要推入 deque 的元素。

返回值

此方法不返回值。

异常

IllegalStateException − 如果由于容量限制而无法在此时间添加元素。

ClassCastException − 如果指定元素的类阻止将其添加到此 deque。

NullPointerException − 如果指定元素为空,并且此 deque 不允许空元素。

IllegalArgumentException − 如果指定元素的某些属性阻止将其添加到此 deque。

示例 1

以下示例演示了 Java Deque push(E) 方法的使用。在此示例中,我们使用整数。首先,我们将使用 add() 方法向 deque 添加一些项目,然后使用 push() 方法将元素添加到堆栈。然后,我们再次使用 add() 方法添加更多元素,并打印 deque 以检查 deque 中的插入是否按我们期望的顺序进行。

package com.tutorialspoint;

import java.util.ArrayDeque;
import java.util.Deque;

public class DequeDemo {
   public static void main(String[] args) {
      
      // create an empty deque
      Deque<Integer> deque = new ArrayDeque<>();

      // use add() method to add elements in the deque
      deque.add(4);
      deque.add(5);
      deque.add(6);

      // use push() method to add element at the front of the deque
      deque.push(3);
      deque.push(2);
      deque.push(1);//now, element 1 will be at the front

      // these elements will be added in continuation with deque.add(6)
      deque.add(7);
      deque.add(8);

      // let us print all the elements available in deque
      System.out.println("Deque = " + deque);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Deque = [1, 2, 3, 4, 5, 6, 7, 8]

示例 2

以下示例演示了 Java Deque push(E) 方法的使用。在此示例中,我们使用字符串。首先,我们将使用 add() 方法向 deque 添加一些项目,然后使用 push() 方法将元素添加到堆栈。然后,我们再次使用 add() 方法添加更多元素,并打印 deque 以检查 deque 中的插入是否按我们期望的顺序进行。

package com.tutorialspoint;

import java.util.ArrayDeque;
import java.util.Deque;

public class DequeDemo {
   public static void main(String[] args) {
      
      // create an empty deque
      Deque<String> deque = new ArrayDeque<>();

      // use add() method to add elements in the deque
      deque.add("D");
      deque.add("E");
      deque.add("F");

      // use push() method to add element to the stack
      deque.push("C");
      deque.push("B");
      deque.push("A");//now, element A will be at the front

      // these elements will be added in continuation with deque.add("F")
      deque.add("G");
      deque.add("H");

      // let us print all the elements available in deque
      System.out.println("Deque = " + deque);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Deque = [A, B, C, D, E, F, G, H]

示例 3

以下示例演示了 Java Deque push(E) 方法的使用。在此示例中,我们使用 Student 对象。首先,我们将使用 add() 方法向 deque 添加一些项目,然后使用 push() 方法将元素添加到 deque 的前面。然后,我们再次使用 add() 方法添加更多元素,并打印 deque 以检查 deque 中的插入是否按我们期望的顺序进行。

package com.tutorialspoint;

import java.util.ArrayDeque;
import java.util.Deque;

public class DequeDemo {
   public static void main(String[] args) {

      // create an empty deque
      Deque<Student> deque = new ArrayDeque<>();

      // use add() method to add elements in the deque
      deque.add(new Student(4, "Julie"));
      deque.add(new Student(5, "Robert"));
      deque.add(new Student(6, "Adam"));

      // use push() method to add element to the stack
      deque.push(new Student(3, "Rohan"));
      deque.push(new Student(2, "Sohan"));
      deque.push(new Student(1, "Mohan"));//now, Student 1 will be at the front

      // these elements will be added in continuation with deque.add(new Student(6, "Adam"))
      deque.add(new Student(7, "Ali"));
      deque.add(new Student(8, "Ahmad"));

      // let us print all the elements available in deque
      System.out.println("Deque = " + deque);      
   }
}

class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Deque = [[ 1, Mohan ], [ 2, Sohan ], [ 3, Rohan ], [ 4, Julie ], [ 5, Robert ], [ 6, Adam ], [ 7, Ali ], [ 8, Ahmad ]]
java_util_deque.htm
广告
© . All rights reserved.