Tag: 堆栈

哪个堆栈或堆?

我正在做一些学习,我遇到了一个问题,要求显示以下代码的正确内存图: int [] d1 = new int[5]; d1[0] = 3; Integer [] d2 = new Integer[5]; d2[0] = new Integer(3); ArrayList d3 = new ArrayList(); d3.add(3); 这是我对内存图的尝试,但可能不正确: 我理解像对象,实例变量和“新”实例这样的东西都在堆上,局部变量和基元类型之类的东西都在堆栈上,但在数组类型方面我仍然感到困惑。 任何帮助表示赞赏。

清除活动堆栈

我无法清除应用的活动堆栈。 在我的应用程序开始时,我让用户登录并给他们一个会话ID。 登录后,他们可以继续使用该应用程序。 但是,如果会话过期,我想将它们重定向到登录活动并清除活动历史记录,以便他们无法访问该应用程序。 我查看了Android API和Intent标志FLAG_ACTIVITY_CLEAR_TASK似乎是我想要的,但它只是包含在API级别11中,并且没有手机拥有新的操作系统。 有没有人有解决这个问题的方法。 谢谢。

使用Stacks Java将中缀转换为Postfix

我正在尝试编写一个程序来将中缀表达式转换为后缀表达式。 我使用的算法如下: 1. Create a stack 2. For each character t in the expression – If t is an operand, append it to the output – Else if t is ‘)’,then pop from the stack till ‘(‘ is encountered and append it to the output. do not append ‘(‘ to the output. – If t […]

通用堆栈数组

我必须实现一个通用堆栈,但是当我尝试构建项目时,我遇到了一个我无法弄清楚的错误。 这是代码: Stack.java – >接口 package stack; public interface Stack { public boolean isEmpty(); public boolean isFull(); public void push(T x) throws StackFullException; public boolean offer(T x); public T pop() throws StackEmptyException; public T poll(); public T peek() throws StackEmptyException; public T element(); } StackArray.java – >接口的实现 package stack; public class StackArray implements Stack { […]

Java可以在堆栈上分配列表吗?

每当我在java中启动列表时,我都会这样做 List list = new LinkedList(); 我假设这将在堆上分配列表。 不知道我是否可以在堆栈上分配列表?

使用堆栈遍历并解决迷宫 – Java

所以我正在尝试创建一个迷宫求解器程序,它可以解决X和O的迷宫问题。 我想要做的是创建一个Point类,这样我就可以创建一个二维点数组,这将允许打印到输出页面以及实现堆栈相对简单。 我想在实际程序中实现的最简单的一般思想算法我认为应该是: 1) Move forward 2) Are you at a wall? 2a) If yes, turn left 3) Are you at the finish? 3a) If no, go to 1 3b) If yes, solved 但是我无法想出一个更深入的算法,以及让我的Points类位于其中。 我知道对于Point我应该设置X坐标,并设置Y坐标以及两者的getter。 你认为我需要比这两种更多的方法吗? 比如,我应该创建一个传递x坐标的方法,并将y坐标作为参数,这样我就可以将它们作为一个一起推送,而不是单独设置x和y? 这是一个样本迷宫的样子,你从右下角开始尝试遍历左上角,X为墙壁,O为迷宫中的开放空间: OOOOOXO XXOXOOX OXOOXXX XXXOOXO XXXXOOX OOOOOOOXXOXXXO

Java中的Lisp表达式求值程序(仅使用一个堆栈)

我正在尝试使用Java实现一个简单的Lisp表达式求值程序。 实际上有关于这个主题的大量信息,但似乎它们都使用两个单独的堆栈来得出结果。 我想知道是否有可能只使用一个堆栈实现这样的程序,以及一些伪代码可能是什么样的。 谢谢。 有关我正在谈论的内容的更多信息 http://www.chegg.com/homework-help/questions-and-answers/outline-given-import-javautil-public-class-simplelispexpressionevaluator-current-input-lis-q2332957 http://stdioe.blogspot.ca/2012/01/lets-implement-simple-lisp-interpreter.html

是否存在未同步的Java Stack的替代品?

我有一个使用Stack数据结构的大型代码库(由我编写)。 这是为了方便使用,我有时使用它作为Stack或其他时间使用Vector / List。 在进行了性能评估之后,我们决定不再为同步安全支付额外费用。 我现在需要用非同步的结构替换这个结构(在代码中很多次提到它)。 我很高兴发现Apache集合包含一个ArrayStack ,这正是我想要的(与Java堆栈相同但非同步)。 然而,这不具有现代Java 5代码(这是我使用的)的generics。 我不打算将我的代码转换为Java 1.4 那么Java Stack是否还有其他任何Java 5兼容的替代品,或者我需要自己编写吗? 更新: 我使用LinkedList和调整的“pop”/“push”方法。

内存中引用变量和对象的逻辑结构/细节?

假设我们有一个class级: class Class1 { int i = 1; } 我们有一个变量: Class1 ob1 = new Class1(); 存储在变量ob1的引用本身是否存储它引用Class1对象的信息? 存储Class1的堆的部分是否存储了Class1类型的信息? 逻辑上看起来如何看待这些信息? 它是一个像application1.Class1这样的字符串或对某些引用类型池的引用? 如果您可以推荐这些信息的来源,我将非常感谢提供它,我在参考书中找不到它。

将变量推送到堆栈中的Stack和Variables差异?

所以我知道存在2个内存区域: Stack和Heap 。 我也知道,如果你创建一个局部变量,它将存在于堆栈中,而不是堆中。 随着我们将数据推入其中,堆栈将会增长,如: 现在我将尝试通过我对你的困惑: 例如,这个简单的Java代码: public class TestClass { public static void main(String[] args) { Object foo = null; Object bar = null; } } 被翻译成这个字节码: public static void main(java.lang.String[]); Code: Stack=1, Locals=3, Args_size=1 0: aconst_null 1: astore_1 2: aconst_null 3: astore_2 4: return LineNumberTable: line 5: 0 line 6: 2 line 7: […]