集合框架-LinkedList

LinkedList是无同步性,线程不安全的。

LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。

package 框架;

import java.util.ArrayList;
import java.util.LinkedList;

/**
 * Created by Administrator on 2018\3\29 0029.
 */
public class List {
    public static void main(String[] args) {
        LinkedList l1=new LinkedList();
        printLinkedList(l1);

    }
    
    public static void printLinkedList(LinkedList l1){
        Emp e1=new Emp("1","zhou",10000);
        Emp e2=new Emp("2","shu",10000);
        Emp e3=new Emp("3","ting",10000);
        //add
        l1.add(e1);
        System.out.println(l1.size());
        //addFirst表示把对象加载到(链表)队列的最前面
        l1.addFirst(e2);
        //addLast表示把对象加载到(链表)队列的最后面
        l1.addLast(e3);
        for(int i =0;i<l1.size();i++){
            System.out.print(((Emp)l1.get(i)).getEmpName()+" ");
        }
        System.out.println();
        //remove
        l1.remove(e1);
        for(int i =0;i<l1.size();i++){
            System.out.print(((Emp)l1.get(i)).getEmpName()+" ");
        }
        System.out.println();
        l1.clear();
        System.out.println(l1.size());
        System.out.println(l1.peekFirst());//检索但不删除此列表的第一个元素,如果此列表为空,则返回 null 。

        l1.add(e1);
        l1.add(e2);
        l1.add(e3);
        //链表为:
        System.out.println("链表为");
        for(int i =0;i<l1.size();i++){
            System.out.print(((Emp)l1.get(i)).getEmpName()+" ");
        }
        System.out.println();
        System.out.println("检索但不删除此列表的头(第一个元素)"+((Emp)l1.peek()).getEmpName());//检索但不删除此列表的头(第一个元素)。

        System.out.println("poll demo");
        System.out.println("检索并删除此列表的头(第一个元素)"+ ((Emp)l1.poll()).getEmpName());//检索并删除此列表的头(第一个元素)。
        System.out.println("原来l1有三个元素,poll后元素");
        for(int i =0;i<l1.size();i++){
            System.out.print(((Emp)l1.get(i)).getEmpName()+" ");
        }
        System.out.println();

        System.out.println("pop demo");//从此列表表示的堆栈中弹出一个元素。
        System.out.println(((Emp)l1.pop()).getEmpName());//pop弹出栈顶元素,相当于弹出链表的第一个
        System.out.println("pop弹出后元素");
        for(int i =0;i<l1.size();i++){
            System.out.print(((Emp)l1.get(i)).getEmpName()+" ");
        }
        System.out.println();

        System.out.println("push demo");
        //push 将元素推送到由此列表表示的堆栈上。
        l1.push(e1);//相当于把这个元素插入链表的里一个元素。
        for(int i =0;i<l1.size();i++){
            System.out.print(((Emp)l1.get(i)).getEmpName()+" ");
        }
       
    }

}

结果截图:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值