Java中Linked中push(),pop()方法

首先给大家推荐一下我老师大神的人工智能教学网站。教学不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵黄段子!点这里可以跳转到网站

先看代码:

LinkedList books=new LinkedList();
          books.offerFirst("java");
          books.offer("C#");         
          System.out.println(books);

结果自然是:[java, C#]
改变代码:

 LinkedList books=new LinkedList();
          books.push("C");        
          books.offer("C#");
          books.offerFirst("java");
          System.out.println(books);

加入了push后,代码结果变成:[java, C, C#]
改变代码:

 LinkedList books=new LinkedList();           
          books.offer("C#");
          books.offerFirst("java");
          books.push("C");  
          System.out.println(books);

代码结果变成:[C, java, C#]
这时,原因观察push的方法说明:

Pushes an element onto the stack represented by this list. In other words, inserts the element at the front of this list. 
This method is equivalent to addFirst.

Specified by: push(...) in Deque
Parameters:
e the element to push
Since:
1.6

注意上述文字中:equivalent 等同于的意思,自然就明白了上面的结果原因了。继续改进代码:

 LinkedList books=new LinkedList();           
          books.offer("C#");
          books.offerFirst("java");
          books.push("C");
          books.pop();
          System.out.println(books);

查看pop的解释:

Pops an element from the stack represented by this list. In other words, removes and returns the first element of this list. 
This method is equivalent to removeFirst().

Specified by: pop() in Deque
Returns:
the element at the front of this list (which is the top of the stack represented by this list)
Throws:
NoSuchElementException - if this list is empty
Since:
1.6

只要注意到This method is equivalent to removeFirst().自然就明白答案:[java, C#]的原因了。
要多看api,自然就能明白很多了。

点这里可以跳转到人工智能网站

发表评论