java LinkedList原理及用法

1:栈 (1.6) :

主要是用于实现堆栈数据结构的存储方式。
先进后出

push() //将指定元素推入栈中
pop() //弹出栈顶元素
2:队列(双端队列1.5): 主要是为了让你们可以使用LinkedList模拟队列数据结构的存储方式。

先进先出

offer() //添加指定的元素到最后
poll() //移除头部元素
机试题目: 使用LinkedList实现堆栈数据结构的存储方式与队列的数据结构存储方式。
// 使用LinkedList模拟堆栈的数据结构存储方式
class StackList{
    
    LinkedList list;
    
    public StackList(){
        list = new LinkedList();
    }
    
    //进栈
    public void add(Object o){
        list.push(o);
    }
    
    //弹栈 : 把元素删除并返回。
    public Object pop(){
        return list.pop();
    }
    
    //获取元素个数
    public int size(){
        return list.size();
    }
    
}

//使用LinkedList模拟队列的存储方式
class TeamList{
    
    LinkedList list;
    
    public TeamList(){
        list = new LinkedList();
    }
    
    public void add(Object o){
        list.offer(o);
    }
    
    public Object remove(){
        return list.poll();
    }
    
    //获取元素个数
    public int size(){
        return list.size();
    }
    
}

public class Demo9 {
    
    public static void main(String[] args) {
        TeamList list=  new TeamList();
        list.add("李嘉诚");
        list.add("马云");
        list.add("王健林");
        
        int size = list.size();
        for(int i = 0 ; i<size ; i++){
            System.out.println(list.remove());
        }
        
    }
}
原理:一张图搞定,和C++的链表一个鬼样
LinkedList的实现原理.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 今天来介绍下LinkedList,在集合框架整体框架一章中,我们介绍了List接口,LinkedList与A...
    嘟爷MD阅读 3,636评论 11 37
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,366评论 11 349
  • 在经过一次没有准备的面试后,发现自己虽然写了两年的android代码,基础知识却忘的差不多了。这是程序员的大忌,没...
    猿来如痴阅读 2,872评论 3 10
  • 当你错过了身边那个最爱你的人的时候,我们往往就会有种失去过后才懂得珍惜的感觉,其实我们应该从现在起好好珍惜最爱你的...
    小西伯利亚狼阅读 181评论 2 1
  • ”还记得那些年,总和你吵架的小女孩吗?如今长大了,也懂事了。 记忆里,没有太多你陪伴我的画面,因为小时候的我,几乎...
    暖暖的我们阅读 765评论 2 3