LinkedList:底层使用了链表实现,具备的特点是查询速度慢,增删块
LinkedList中特有的方法:
一、方法:
1.addFirst(E e):把元素添加到集合的首位置
LinkedList list=new LinkedList();
list.add("狗娃");
list.add("狗剩");
list.addFirst("铁蛋");
System.out.println(list);
2.addLast(E e):把元素添加到集合的末位置
LinkedList list=new LinkedList();
list.add("狗娃");
list.add("狗剩");
list.addLast("张三");
System.out.println(list);
3.getFirst():获取集合中首位置元素
LinkedList list=new LinkedList();
list.add("狗娃");
list.add("狗剩");
list.addLast("张三");
System.out.println(list.getFirst());
4.getLast():获取集合中末位置元素
LinkedList list=new LinkedList();
list.add("狗娃");
list.add("狗剩");
list.add("铁蛋");
System.out.println(list.getLast());
5.removeFirst():删除集合中首位置元素并返回
LinkedList list=new LinkedList();
list.add("狗娃");
list.add("狗剩");
list.add("铁蛋");
System.out.println(list.removeFirst());
6.removeLast():删除集合中末位置元素并返回
LinkedList list=new LinkedList();
list.add("狗娃");
list.add("狗剩");
list.add("铁蛋");
System.out.println(list.removeLast());
二、数据结构
1.栈 : 主要用于实现堆栈数据结构的存储方式,存储数据特点:先进后出,后进先出
push()将元素插入到集合的开头处
pop()移除并返回集合中的第一个元素
2.队列 :主要可以使用LinkedList模拟队列数据结构,存储数据特点:先进先出,后进后出
offer()将元素添加到集合末尾处
poll()删除集合中的首位置元素
使用LinkedList实现堆栈数据结构的存储方式和队列数据结构储存结构
//堆栈
class StackList{
LinkedList list;
public StackList(){
list=new LinkedList();
}
//进栈
public void add(Object o){
list.push(o);
}
//出栈
public Object pop(){
return list.pop();
}
public int size(){
return list.size();
}
}
//队列
class TeamList{
LinkedList list;
public TeamList(){
list=new LinkedList();
}
//进队
public void add(Object o){
list.offer(o);
}
//出队
public Object remove(){
return list.poll();
}
public int size(){
return list.size();
}
}
public class Demo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//堆栈,先进后出
StackList list=new StackList();
list.add("张三");
list.add("李四");
list.add("王五");
int size=list.size();
for(int i=0;i<size;i++){
System.out.print(list.pop()+",");
}
System.out.println();
//队列,先进先出
TeamList list2=new TeamList();
list2.add("张三");
list2.add("李四");
list2.add("王五");
int size2=list2.size();
for(int i=0;i<size2;i++){
System.out.print(list2.remove()+",");
}
}
}
三、返回逆序的迭代器对象
descendingIterator()
LinkedList list=new LinkedList();
list.add("狗娃");
list.add("狗剩");
list.add("铁蛋");
Iterator it=list.descendingIterator();
while(it.hasNext()){
System.out.print(it.next()+",");//逆序
}