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

25、LinkedList特有方法的更多相关文章

  1. Java LinkedList特有方法程序小解 && 使用LinkedList 模拟一个堆栈或者队列数据结构。

    package Collection; import java.util.LinkedList; /* LinkedList:特有的方法 addFirst()/addLast(); getFirst( ...

  2. LinkeList 特有方法

    LinkedList:特有方法:addFirst();addLast();添加元素到集合,添加到头尾,getFirst();getLast();获取元素,但不删除元素.如果集合中没有元素,会出现NoS ...

  3. java集合_collection子接口 list的特有方法,ArrayList类体现

    /* Collection |--List:元素是有序的,元素可以重复.因为该集合体系有索引. |--ArrayList:底层的数据结构使用的是数组结构.特点:查询速度很快.但是增删稍慢.线程不同步. ...

  4. python数据类型及其特有方法

    一.运算符 in方法 "hello" in "abcdefghijklmnopqrstuvwxyz" "li" in ["gg&q ...

  5. List接口中特有方法

    import java.util.ArrayList; import java.util.List; /* List接口中特有方法: 添加 add(int index, E element) addA ...

  6. Java List集合特有方法程序用法

    package Collection; /* Collection |--List:元素是有序的,元素可以重复.因为该集合体系有索引 | |--ArrayList:底层的数据结构使用的是数组结构 特点 ...

  7. java 15 -7 ListIterator 的特有方法

    列表迭代器:  ListIterator listIterator():List集合特有的迭代器 该迭代器继承了Iterator迭代器,所以,就可以直接使用hasNext()和next()方法. 特有 ...

  8. LinkedList使用方法

    特有功能 void addFirst(E e);//在索引为0的位置添加指定元素 void addLast(E e);//在索引为size()-1的位置添加指定元素 E getFirst() 获取索引 ...

  9. 2016/1/25 多线程 作业 方法一 继承Thread 方法二 实现Runnable 多线程笔记

    /* * 1,尝试定义一个继承Thread类的类,并覆盖run()方法, * 在run()方法中每隔100毫秒打印一句话.*/ package Stream; //方法一 继承Thread 实现多线程 ...

随机推荐

  1. js遍历数组和遍历对象

    可以用for in来遍历对象,具体内容如下: <script type="text/javascript">             var objs = {      ...

  2. ognl用法 取变量时候 需要在变量前面加上# 取字符串需要用单引号包裹字符串

  3. 每日一问(常用的集合接口和类有哪些【二】)—最常用的集合ArrayList类

    本人在曾经的数年编程生涯中,使用的最多的就是ArrayList类了,原因也非常简单.ArrayList类可以是最直接符合集合这一概念的类了,当然这种说法只是我的个人之见.ArrayList可以说是一个 ...

  4. zabbix短信(阿里云短信平台)与邮件报警

    环境说明 操作系统 centos7 zabbix_server zabbix 4.0.3 python 3.6.5 短信平台 阿里云短信 zabbix_server配置信息 1 [root@cp-hb ...

  5. view的阴影效果shadowColor

    btn.layer.shadowColor = UIColor.blackColor().CGColor btn.layer.shadowOffset = CGSizeMake(5, 5) btn.l ...

  6. BZOJ 3881: [Coci2015]Divljak

    3881: [Coci2015]Divljak Time Limit: 20 Sec  Memory Limit: 768 MBSubmit: 553  Solved: 176[Submit][Sta ...

  7. BZOJ 4454: C Language Practice

    4454: C Language Practice Time Limit: 20 Sec  Memory Limit: 24 MBSubmit: 501  Solved: 112[Submit][St ...

  8. BZOJ3192:[JLOI2013]删除物品——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=3192 箱子再分配问题需要解决如下问题: (1)一共有N个物品,堆成M堆. (2)所有物品都是一样的 ...

  9. 使用telnet访问百度

    这里主要是玩一下http协议,查看http的header. 1.输入命令telnet访问百度 # telnet www.baidu.com 80 Trying 220.181.112.244... C ...

  10. Centos Python3安装共存

    安装python3.6可能使用的依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlit ...