LInkedList集合练习

package com.java.linkedlist;

import java.util.LinkedList;

/*
 * LinkedList类的特点:查询速度慢,增删速度快。
 * LinkedList类有两种类型:
 * 1.堆栈型:先进后出
 * 2.队列(queue)型:先进先出
 *
 *
 *
 *
 * */
public class LinkedListDmeo {

public static void main(String[] args) {
  Queue q = new Queue();
  q.MyAdd("iscast1");
  q.MyAdd("iscast2");
  q.MyAdd("iscast3");
  q.MyAdd("iscast4");
  /*
  while(!q.nonull()){
   
   System.out.print(q.myGet()+" ");
  }
  */
  /**
   * 堆栈调用
   */
  while(!q.nonull()){
   System.out.print(q.myGet1()+" ");
  }
 }

}

/*
 * 队列型
 */
class Queue {
 // 封装一个LinkedList对象
 private LinkedList link;

// 把它放入构造函数中初始化
 Queue() {
  link = new LinkedList();
 }

// 创建一个要输入的上帝引用对象
 Object obj = new Object();

// 创建一个方法来添加元素
 /**
  * 队列添加器
  */
 public void MyAdd(Object obj) {
  link.addFirst(obj);
 }

public Object myGet() {

return link.removeLast();
 }
 public Object myGet1() {

return link.removeFirst();
}
 public boolean nonull() {
  return link.isEmpty();
 }
}

时间: 2024-12-24 07:47:30

LInkedList集合练习的相关文章

java 程序语言中的LinkedList 集合基本方法演示

java 程序语言中的LinkedList 集合基本方法演示 import java.util.Iterator; import java.util.LinkedList; public class LinkedListDemos { public static void main(String[] args) { // 新建一个容器 LinkedList link = new LinkedList(); link.addFirst("abc1"); link.addFirst(&qu

使用C模拟面向对象实现如java的LinkedList集合(好精彩)

我们都知道C是一个面向过程的语言,怎么模拟面向对象呢? 大家不要忘了结构体这东西,说起来和类还是有些相似的 首先我们得理解一下什么叫做链表,就像一队人排队一个连着一个,你找到第一个就能知道下一个 如果不清楚,大家可以去看看java的LinkedList集合 接下来就会带大家实现和LinkedList一模一样的集合 首先,为了好理解,先使用java编写再改编成C的版本 链表是一个一个节点连着一起的,所以我们首先创建一个实体类Node(其中使用到了泛型,如果有疑问可以查看我的另一编关于泛型的文章)

LinkedList集合

LinkedList类简介 java.util.LinkedList 集合 implement List接口 底层是链表结构,查询慢,增删快 包含大量操作首尾的方法 使用LinkedList集合特有的方法,不能使用多态 非同步,多线程实现 LinkedList集合特有方法: public void addFirst(E e):将指定的元素,插入此列表的的开头.此方法等效于public void push(E e) public void addLast(Ee):将指定的元素添加到列表的结尾.此方

LinkedList 集合

package Chapter6.ShiLi; public class Dog { public String Name; public String Type; // 带参构造函数 public Dog(String name, String type) { this.Name = name; this.Type = type; } } -------------Test---------------------- package Chapter6.ShiLi; import java.ut

List接口实现类-ArrayList、Vector、LinkedList集合深入学习以及源码解析

学习List接口实现类 ArrayList  Vector  LinkedList List接口的实现类中最常用最重要的就是这三个:ArrayList.Vector.LinkedList. JDK中这三个类的定义: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { <span st

Java集合框架之二:LinkedList源码解析

版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! LinkedList底层是通过双向循环链表来实现的,其结构如下图所示: 链表的组成元素我们称之为节点,节点由三部分组成:前一个节点的引用地址.数据.后一个节点的引用地址.LinkedList的Head节点不包含数据,每一个节点对应一个Entry对象.下面我们通过源码来分析LinkedList的实现原理. 1.Entry类源码: 1 private static class Entry<E> { 2 E element; 3 Entr

跟王老师学集合(五)LinkedList集合类

LinkedList集合类 主讲人:王少华  QQ群号:483773664 学习目标 掌握LinkedList的使用场合 掌握LinkedList常用方法 一.需求 如何在集合的头部或尾部添加.获取和删除狗狗对象呢? 如何在集合的其他任何位置添加.获取和删除狗狗对象 二.分析 (一)ArrayList add(Object object) remove(Object object):在集合尾部添加或删除元素 add(int index,Object o) remove(int index,Obj

java集合的实现细节--ArrayList和LinkedList

 ArrayList和LinkedList的实现差异 List代表一种线性表的数据结构,ArrayList则是一种顺序存储的线性表,ArrayList底层采用动态数组的形式保存每一个集合元素,LinkedList则是一种链式存储的线性表,其本质上就是一个双向链表,它不仅实现了List接口,还实现了Deque接口,Deque代表了一种双端队列,既具有队列(FIFO)的特性,也具有栈(FILO)的特性,也就是说,LinkedList既可以当成双向链表使用,也可以当成队列使用,还可以当成栈来使用. p

java集合之LinkedList

LinkedList:位于java.util包下 1 LinkedList概述 特点:底层数据结构是链表,增删快查询慢:实现非同步,线程不安全,效率高:有序(存取顺序一致):允许存储重复值:允许存储null值:易于实现堆栈.队列.双向队列结构: 常用构造: public LinkedList(): 空参构造,构建一个空列表. 常用方法:和ArrayList差不多,此处仅列出特有的功能方法. 1)添加功能: public addFirst(E e) :将指定元素插入此列表的开头. public a