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,在拷贝之前要判断下是否已经包含这个对象。

原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/10131382.html