• 25、LinkedList特有方法


    LinkedList特有方法

    • public void addFirst(E e)及addLast(E e)
    • public E getFirst()及getLast()
    • public E removeFirst()及public E removeLast()
    • public E get(int index);
    package com.sutaoyu.list;
    
    import java.util.LinkedList;
    
    public class list_test_6 {
        public static void main(String[] args) {
            LinkedList list = new LinkedList();//在LinkedList中最前面的位置上添加元素
            list.addFirst("a");
            list.addFirst("b");
            list.addFirst("c");
            list.addFirst("d");
            
            //在LinkedList中最后面的位置上添加元素
            list.addLast("e");
            
            //获取LinkedList中的第一个元素
            System.out.println(list.getFirst()); //d
            
             //获取LinkedList中的最后一个元素
            System.out.println(list.getLast()); //e
            
            //删除LinkedList中的第一个元素
            System.out.println(list.removeFirst()); //d
            
            //删除LinkedList中的最后一个元素
            System.out.println(list.removeLast()); //e
            
            //获取LinkedList中的第二个元素
            System.out.println(list.get(1)); //b
            System.out.println(list);//[c,b,a]
        }
    }

    小练习:

    1.栈数据结构的特点是先进后出,请使用LinkedList来实现一个栈的数据结构。
    2.向List里面添加一些Person对象,其中Person中有name和age两个成员变量,请编写去除List中重复的对象的代码

    练习1

    1.首先创建一个Stack的类,里面提供压栈,弹栈,判断栈里面是否为空的方法

    package com.sutaoyu.list;
    
    import java.util.LinkedList;
    
    public class list_test_7 {
        
        public static class Stack{
            private LinkedList list = new LinkedList();
            
            //压栈
            public void push(Object obj) {
                list.addLast(obj);
            }
            
            //弹栈
            public Object pop() {
                return list.removeLast();
            }
            
            public boolean isEmpty() {
                return list.isEmpty();
            }
        }
    }

    创建测试类

    package com.monkey1024.list;
    
    /**
     * 测试stack的功能
     *
     */
    public class StackTest01 {
    
        public static void main(String[] args) {
            Stack s = new Stack();
            //压栈
            s.push("a");
            s.push("b");
            s.push("c");
            s.push("d");
    
            //通过循环来进行弹栈
            while(!s.isEmpty()){
                System.out.println(s.pop());
            }
        }
    
    }

    2.去除重复对象,首先要重写Person类中的equals方法,因为查找的次数多,所以使用ArrayList。通过遍历ArrayList,将数据拷贝到新的集合中,新的集合做添加操作比较多,所以使用LinkedList,在拷贝之前要判断下是否已经包含这个对象。

  • 相关阅读:
    vue-router 动态路由
    vue-router 路由配置
    vue通信之子父组件通信
    vue组件通信之父组件主动获取子组件数据和方法
    vue 笔记,ref 及 $event 事件对象
    vue组件通信之非父子组件通信
    vue组件通信之父子组件通信
    localStorage使用总结(转载)
    jQuery 实现复选框全选、反选及获取选中的值
    jQuery 对象与 Dom 对象转化
  • 原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/10131382.html
Copyright © 2020-2023  润新知