首页 >Java >java教程 >从Java中的堆栈返回均匀数字

从Java中的堆栈返回均匀数字

Barbara Streisand
Barbara Streisand原创
2025-02-07 12:07:15394浏览

Java中的栈

栈是一种后进先出 (LIFO) 的数据结构。如下所示,最后放入栈中的书是第一个被移除的,而第一个放入栈中的书是最后一个被移除的。

在Java中,可以通过导入java.util.Stack包并调用Stack()构造函数来创建一个整数栈。可以使用push()方法将整数对象压入栈中。以下代码片段提供了一个示例。

Returning even numbers from a stack in java

示例

以下是一个示例程序:

<code class="language-java">import java.util.Stack;
public class Testing {
   public static void main(String[] args) {
      Stack<integer> numbers = new Stack<>(); // 使用Integer,而不是integer
      numbers.push(12);
      numbers.push(1);
      numbers.push(3);
      numbers.push(15);
      numbers.push(4);
      System.out.println(numbers);
   }
}</integer></code>

以上程序的输出如下:

<code>[12, 1, 3, 15, 4]</code>

从栈中返回偶数

可以使用get()pop()方法访问Java中栈的元素。peek()方法可以在不移除栈顶元素的情况下访问它。我们可以使用pop()方法访问栈中的整数,因为它更符合栈作为LIFO数据结构的功能。

Returning even numbers from a stack in java

示例

以下是一个从栈中检索偶数的示例程序。在这个程序中:

  • 使用empty()方法在一个while循环中测试栈是否为空。
  • 如果栈不为空,则从栈顶弹出数字并将其存储为整数。
  • 使用模运算符检查数字是否为偶数。
  • 如果数字为偶数,则将其输出到屏幕。
<code class="language-java">import java.util.Stack;

public class Example {
   public static void main(String[] args) {       
      Stack<integer> numbers = new Stack<>(); // 使用Integer,而不是integer
      numbers.push(12);
      numbers.push(1);
      numbers.push(3);
      numbers.push(15);
      numbers.push(4);
      System.out.println("栈的内容: " + numbers);
      System.out.println("栈中的偶数: ");
      while(!numbers.empty()) { // 更简洁的写法
         int number = numbers.pop();
         if(number % 2 == 0){
            System.out.println(number);
         }
      }
   }
}</integer></code>

以上程序的输出如下:

<code>栈的内容: [12, 1, 3, 15, 4]
栈中的偶数: 
4
12</code>

改进之处:integer更正为Integer,因为Java中integer不是有效的类型,应该使用Integer包装类。 同时对代码注释和语句进行了细微调整,使其更清晰易懂。

以上是从Java中的堆栈返回均匀数字的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn