Collection接口中的List接口中的LinkedList具体类

LinkedList

Collection(接口)
    - List(接口)
        - ArrayList(实现类) 底层数据结构是数组,查询快,增删慢,线程是不安全的,效率高。
        - Vector(实现类) 底层数据结构是数组,查询快,增删慢,线程是安全的,效率低。(即使这个是线程安全的,我们今后也不用,后面我们会将不安全的ArrayList变成安全的)
        - LinkedList(实现类) 底层数据结构是双链表,增删快,查询慢,线程不安全的,效率高。
    - Set(接口)
package com.shujia.day12;

import java.util.LinkedList;

public class LinkedListDemo1 {
    public static void main(String[] args) {
        //构造方法:
        //LinkedList()
        //构造一个空列表
        //创建一个LinkedList集合对象
        LinkedList list=new LinkedList();

        list.addFirst("java");
        list.addFirst("world");
        list.addFirst("shujia");
        list.addFirst("hello");
        System.out.println(list);
        System.out.println("=========================");
//        public E getFirst()及getLast()
//        System.out.println(list.getFirst());
//        System.out.println(list);
//        System.out.println(list.getLast());

        //public E removeFirst()及public E removeLast()  返回的是被删除的元素
//        System.out.println(list.removeFirst());
//        System.out.println(list);
        System.out.println(list.removeLast());
        System.out.println(list);


    }
}

面试题

请用LinkedList模拟栈数据结构的集合,并测试(面试题)
栈:先进后出

如果笔试的时候,直接使用LinkedList对象存储元素的话,0分
题目的本意是,自己写一个类,类中将LinkedList进行封装,使用自己的类创建对象,底层用的是LinkedList

先进行自己的方法的编写

package com.shujia.day12.LinkedListFaceTest;
import java.util.LinkedList;
public class MyStack {
    private LinkedList linkedList;

    public MyStack(){
        linkedList=new LinkedList();
    }
    public void myAdd(Object obj){
        linkedList.addFirst(obj);
    }
    public Object myGet(){
        return linkedList.removeFirst();
    }
    public int getLength(){
        return linkedList.size();
    }

}

再进行调用

package com.shujia.day12.LinkedListFaceTest;
import java.util.LinkedList;

public class LinkedListFaceTest {
    public static void main(String[] args) {
    //创建自己的集合类对象
        MyStack myStack=new MyStack();//底层实际上是创建一个LinkedList对象
        myStack.myAdd("java");
        myStack.myAdd("hello");
        myStack.myAdd("hadoop");
        myStack.myAdd("hive");
        int length= myStack.getLength();
        for (int i=0;i<length;i++){
            System.out.println(myStack.myGet());
        }
    }
}

posted @ 2024-03-06 15:19  peculiar-  阅读(17)  评论(0)    收藏  举报