zoukankan      html  css  js  c++  java
  • java集合之LinkedList

    LinkedList:位于java.util包下


    1 LinkedList概述

    特点:底层数据结构是链表,增删快查询慢;实现非同步,线程不安全,效率高;有序(存取顺序一致);允许存储重复值;允许存储null值;易于实现堆栈、队列、双向队列结构;

    常用构造:

     public LinkedList(): 空参构造,构建一个空列表。

    常用方法:和ArrayList差不多,此处仅列出特有的功能方法。

    1)添加功能:

    public addFirst(E e) :将指定元素插入此列表的开头。

    public addLast(E e) :将指定元素插入此列表的末尾。

    2)获取功能

    public E element(): 获取但不移除此列表的头(第一个元素)。

    public E getFirst():返回此列表的第一个元素。

    public E getLast():返回此列表的最后一个元素。

    3)删除功能

    public E removeFirst():移除并返回此列表的第一个元素。

    public E removeLast():移除并返回此列表的最后一个元素。

    4)还有一些栈、队列相关的功能方法。。。


     LinkedList集合属于List集合中的一个子类,其使用类似ArrayList。

    2 LinkedList应用

    1)模拟栈结构:底层封装LinkedList集合,实现Stack栈结构

    package collection.test;

    import java.util.LinkedList;

    public class MyStack<T> {
      private LinkedList<T> list;


      public MyStack(){
        list = new LinkedList<T>();
      }

      public boolean add(T obj){
        list.addFirst(obj);
        return true;
      }

      public Object get(){
        return list.removeFirst();
      }

      public boolean isEmpty(){
        return list.isEmpty();
      }
    }

    public class MyStackTest {
      public static void main(String[] args) {
        MyStack<String> stack = new MyStack<String>();
        //压栈
        stack.add("hello");
        stack.add("world");
        stack.add("java");
        //弹出栈
        while(!stack.isEmpty()){
          System.out.println(stack.get());
        }

      }
    }

  • 相关阅读:
    Good Bye 2015 D
    Good Bye 2015 C
    good bye 2015 B
    寒假训练第九场 Brocard Point of a Triangle
    HDU 3289 Cat VS Dog (二分匹配 求 最大独立集)
    HDU 1029 Ignatius and the Princess IV DP
    找钱问题
    POJ3260——背包DP(多重)——The Fewest Coins
    Charm Bracelet
    POJ1787——背包DP(特定状态+回溯)——Charlie's Change
  • 原文地址:https://www.cnblogs.com/zwbg/p/5906241.html
Copyright © 2011-2022 走看看