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. 微信小程序 功能函数 替换字符串内的指定字符

    var str = 'abcadeacf'; var str1 = str.replace('a', 'o'); alert(str1);    // 打印结果: obcadeacf   var st ...

  2. Redis和Memcache的区别总结-京东阿里面试

    集群: redis 和memcached都支持集群 数据类型 Redis支持的数据类型要丰富得多,Redis不仅仅支持简单的k/v类型的数据,同时还提供String,List,Set,Hash,Sor ...

  3. Keil MDK中单个c文件生成LIB文件

    看大多数说的都是简单地将整个工程转换成.LIB,在Project->Options for Target->Output下,选择Create Library,就可以了. 不过这样生成的li ...

  4. InvalidArgumentError: You must feed a value for placeholder tensor 'Placeholder_1' with dtype float and shape [?,10]

    在莫烦Python教程的“Dropout 解决 overfitting”一节中,出现错误如下: InvalidArgumentError: You must feed a value for plac ...

  5. path变量修改后无法保存

    Eclipse启动时出现错误: A Java Runtime Environment (JRE) or Java Development Kit(JDK) must be available in o ...

  6. hdu-3308 LCIS (线段树区间合并)

    LCIS Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  7. MT【159】单调有界有极限

    已知数列$\{a_n\}$满足:$a_n>0,a_{n+1}+\dfrac{1}{a_n}<2,n\in N^*$.求证:(1)$a_{n+2}<a_{n+1}<2 (n\in ...

  8. MT【157】至少一个小于1

    若函数$f(x)=x^2+ax+b$有两个不等实数根$x_1,x_2$,且$1<x_1<x_2<3$,那么$f(1),f(3)中$    (      )A.只有一个小于1 B.至少 ...

  9. Linux内核分析实验二:mykernel实验指导(操作系统是如何工作的)

    计算机是如何工作的?(总结)——三个法宝 存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要 ...

  10. 关于未来IT职业教育的思考

    回首过去20年的IT教育,从基本的办公软件(应用软件)到基础设施培训(网络.ps.3d等)再到软件开发(java等),可以说是见证了中国计算机发展的整个阶段,随着时代的变迁,计算机从最初的普及阶段到深 ...