zoukankan      html  css  js  c++  java
  • 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,在拷贝之前要判断下是否已经包含这个对象。

  • 相关阅读:
    ASP.NET WebApi项目框架搭建(六):数据库ORM之Sqlsugar
    sqlsugar与数据库之间的相互操作
    C# SqlSugar框架的学习使用(一)SqlSugar简介及创建
    SqlSugar直接执行Sql
    在项目中迁移MS SQLServer到Mysql数据库,实现MySQL数据库的快速整合
    SqlSugar 简易操作数据库
    C# SqlSugar框架的学习使用(二) 类的生成及增删改查的应用
    使用开源框架Sqlsugar结合mysql开发一个小demo
    devops起源的各种ops概念
    STC8H开发(四): FwLib_STC8 封装库的介绍和注意事项
  • 原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/10131382.html
Copyright © 2011-2022 走看看