栈这种数据结构就是这样啊!

解决方案 »

  1.   

    拿出来改掉再放进去不就行了,你这问题问得恶心。
      

  2.   

    栈存取速度比堆要快,仅次于寄存器,栈数据可以共享。
    但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量(,int, short, long, byte, float, double, boolean, char)和对象句柄。 
    栈有一个很重要的特殊性,就是存在栈中的数据可以共享。
    假设我们同时定义: 
    int a = 3; 
    int b = 3; 
    编译器先处理int a = 3;首先它会在栈中创建一个变量为a的引用,然后查找栈中是否有3这个值,如果没找到,就将3存放进来,然后将a指向3。接着处理int b = 3;在创建完b的引用变量后,因为在栈中已经有3这个值,便将b直接指向3。这样,就出现了a与b同时均指向3的情况。 
    这时,如果再令a=4;那么编译器会重新搜索栈中是否有4值,如果没有,则将4存放进来,并令a指向4;如果已经有了,则直接将a指向这个地址。因此a值的改变不会影响到b的值。
      

  3.   

    我要是知道还用问啊??
    拿出来改掉再放进去??那我要改最下面的呢?
    先那个东西记录下栈内的数值和位置,然后再拿出来,再改??
    我最烦你这样人了 不想回答就算了 我又没有强求
    干嘛人生攻击啊
      

  4.   

    那你既然有这样的需求,干嘛用栈?
    想用栈又不遵循他的规则,栈是一种工具,它好比锤子,但是你现在的要求是剪电线,老兄。