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,在拷贝之前要判断下是否已经包含这个对象。
25、LinkedList特有方法的更多相关文章
- Java LinkedList特有方法程序小解 && 使用LinkedList 模拟一个堆栈或者队列数据结构。
package Collection; import java.util.LinkedList; /* LinkedList:特有的方法 addFirst()/addLast(); getFirst( ...
- LinkeList 特有方法
LinkedList:特有方法:addFirst();addLast();添加元素到集合,添加到头尾,getFirst();getLast();获取元素,但不删除元素.如果集合中没有元素,会出现NoS ...
- java集合_collection子接口 list的特有方法,ArrayList类体现
/* Collection |--List:元素是有序的,元素可以重复.因为该集合体系有索引. |--ArrayList:底层的数据结构使用的是数组结构.特点:查询速度很快.但是增删稍慢.线程不同步. ...
- python数据类型及其特有方法
一.运算符 in方法 "hello" in "abcdefghijklmnopqrstuvwxyz" "li" in ["gg&q ...
- List接口中特有方法
import java.util.ArrayList; import java.util.List; /* List接口中特有方法: 添加 add(int index, E element) addA ...
- Java List集合特有方法程序用法
package Collection; /* Collection |--List:元素是有序的,元素可以重复.因为该集合体系有索引 | |--ArrayList:底层的数据结构使用的是数组结构 特点 ...
- java 15 -7 ListIterator 的特有方法
列表迭代器: ListIterator listIterator():List集合特有的迭代器 该迭代器继承了Iterator迭代器,所以,就可以直接使用hasNext()和next()方法. 特有 ...
- LinkedList使用方法
特有功能 void addFirst(E e);//在索引为0的位置添加指定元素 void addLast(E e);//在索引为size()-1的位置添加指定元素 E getFirst() 获取索引 ...
- 2016/1/25 多线程 作业 方法一 继承Thread 方法二 实现Runnable 多线程笔记
/* * 1,尝试定义一个继承Thread类的类,并覆盖run()方法, * 在run()方法中每隔100毫秒打印一句话.*/ package Stream; //方法一 继承Thread 实现多线程 ...
随机推荐
- Python批量文件重命名
今天,得到一个里面都是图片的文件夹,但是图片都没有后缀,因此想用Pythton批量地为所有的文件加上".jpg"的后缀,代码如下: #-*- coding:utf-8 -*- #重 ...
- js判断浏览器语言实现网站国际化
一般国际化的网站至少是有中.英文两种语言的,然后就是在不同的语言环境下使用不同的语言页面. 1.实现原理 一般实现这种功能的方法,无非就是两种, 第一种,判断浏览器语言类型: 第二种,判断ip所属国家 ...
- 51nod 1681 公共祖先 | 树状数组
51nod 1681 公共祖先 有一个庞大的家族,共n人.已知这n个人的祖辈关系正好形成树形结构(即父亲向儿子连边). 在另一个未知的平行宇宙,这n人的祖辈关系仍然是树形结构,但他们相互之间的关系却完 ...
- poj2761 feed the dog
题目链接:http://poj.org/problem?id=2761 Description Wind loves pretty dogs very much, and she has n pet ...
- debian安装filebeat5.5收集nginx日志
先贴一下我的BELK架构 1.Download and install the Public Signing Key: # wget -qO - https://artifacts.elastic.c ...
- kibana5画图
先展示一下我的Dashboard 1.Markdown文本 2.日志条数统计 3.访问IP前10柱状图 4.访问IP前10饼图 5.状态码饼图 6.状态码趋势图 7.状态码柱状叠加图 8.流量趋势图 ...
- BZOJ 2140 稳定婚姻
2140: 稳定婚姻 Description 我国的离婚率连续7年上升,今年的头两季,平均每天有近5000对夫妇离婚,大城市的离婚率上升最快,有研究婚姻问题的专家认为,是与简化离婚手续有关. 25岁的 ...
- 【题解】CF1154
A Description 有三个正整数 \(a,~b,~c\),现在给定 \(x_1~=~a + b,~x_2~=~a + c, x_3~=~b + c, ~x_4~=~a + b + c\),请求 ...
- (二)C语言文本流和二进制流的区别
转至:http://www.cnblogs.com/xiangzi888/archive/2011/11/10/2244336.html 一.首先回答,什么是文件,流 一个文件通常就是磁盘上的一段命名 ...
- 安装mysql-5.6版本步骤与卸载
官网下载完解压后: 1.环境变量配置Path D:\mysql-5.6.40-winx64\bin(你的mySql5.6的路径到bin)2.找到D:\mysql-5.6.40-winx64文件中的 ...