LinkedList方法
一、什么是LinkdList
LinkedList 与 ArrayList 一样,实现了 List 接口,只不过 ArrayList 是基于数组实现的,而 LinkedList 是基于链表实现的。他的优点在于插入和删除方面
二、LinkedList常用方法
方法名 | 说明 |
void addFirst(Object o) | 在列表的首部添加元素 |
void addLast(Object o) | 在列表的末尾添加元素 |
Object getFirst() | 返回列表中的第一个元素 |
Object getLast() | 返回列表中的最后一个元素 |
Object removeFirst() | 删除并返回列表中的第一个元素 |
Object removeLast() | 删除并返回列表中的最后一个元素 |
三、例子:
新闻管理系统
1、可以添加头条新闻标题
2、获取头条和最末条新闻标题
3、可以删除末条新闻标题
我们先写一个新闻标题类
//新闻标题
public class XinWen {
public int id;
public String mingCheng;
public String zuoZhe;
public XinWen(){}
public XinWen(int id, String mingCheng, String zuoZhe) {
super();
this.id = id;
this.mingCheng = mingCheng;
this.zuoZhe = zuoZhe;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getMingCheng() {
return mingCheng;
}
public void setMingCheng(String mingCheng) {
this.mingCheng = mingCheng;
}
public String getZuoZhe() {
return zuoZhe;
}
public void setZuoZhe(String zuoZhe) {
this.zuoZhe = zuoZhe;
}
}
然年后用
LinkedList 方法来做
//新闻管理
public class GuanLi {
public static void main(String[] args) {
//集合储存多条新闻标题
BiaoTi no1=new BiaoTi(1,"今天天气真好1","姓名");
BiaoTi no2=new BiaoTi(2,"今天天气真好2","姓名");
BiaoTi no3=new BiaoTi(3,"今天天气真好3","姓名");
BiaoTi no4=new BiaoTi(4,"今天天气真好4","姓名");
BiaoTi no5=new BiaoTi(5,"今天天气真好5","姓名");
LinkedList list=new LinkedList();
list.add(no1);
list.add(no2);
list.add(no3);
//往末尾插入
list.addLast(no4);
//往首部插入
list.addFirst(no5);
//输出一共多少标题
System.out.println("新闻标题为"+list.size()+"个");
//遍历出来
for(int i=0;i<list.size();i++){
BiaoTi no=(BiaoTi)list.get(i);
System.out.println(no.getId()+"."+no.getTiMu());
}
//用迭代器遍历
// Iterator itor=list.iterator();
// while(itor.hasNext()){
// BiaoTi title=(BiaoTi)itor.next();
// System.out.println(title.getId()+"--"+title.getTiMu());
// }
System.out.println("\n.................\n");
//获取头条新闻
BiaoTi toutiao=(BiaoTi)list.getFirst();
System.out.print("头条为:"+toutiao.getTiMu());
System.out.println("\n.................\n");
//获取末条新闻
BiaoTi motiao=(BiaoTi)list.getLast();
System.out.println("末条为:"+motiao.getTiMu());
System.out.println("\n.................\n");
//删除末条标题
System.out.println("删除末条标题后");
list.removeLast();
for(Object obj:list){
BiaoTi title=(BiaoTi)obj;
System.out.println(title.getTiMu());
}
System.out.println("\n.................\n");
//再删除首条标题
System.out.println("再删除首条标题后");
list.removeFirst();
for(Object obj:list){
BiaoTi title=(BiaoTi)obj;
System.out.println(title.getTiMu());
}
}
}