LinkedList特有方法
public void addFirst(E e)及addLast(E e)
public E getFirst()及getLast()
public E removeFirst()及public E removeLast()
public E get(int index);
import java.util.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);
*/
public class LinkedListTest01 {
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());
//获取LinkedList中的最后一个元素
System.out.println(list.getLast());
//删除LinkedList中的第一个元素
System.out.println(list.removeFirst());
//删除LinkedList中的最后一个元素
System.out.println(list.removeLast());
//获取LinkedList中的第二个元素
System.out.println(list.get(1));
System.out.println(list);
}
}
练习
1.栈数据结构的特点是先进后出,请使用LinkedList来实现一个栈的数据结构。
2.向List里面添加一些Person对象,其中Person中有name和age两个成员变量,请编写去除List中重复的对象的代码
答案
1.首先创建一个Stack的类,里面提供压栈,弹栈,判断栈里面是否为空的方法
import java.util.LinkedList;
/**
* 栈
*
*/
public 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();
}
}
创建测试类
/**
* 测试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,在拷贝之前要判断下是否已经包含这个对象。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import com.monkey1024.bean.Person;
/**
* 需求:向List里面添加一些Person对象,其中Person中有name和age两个成员变量,请编写去除List中重复的对象的代码。
*
*/
public class ListTest03 {
public static void main(String[] args) {
List list = new ArrayList();
list.add(new Person("张三", 19));
list.add(new Person("李四", 20));
list.add(new Person("王五", 21));
list.add(new Person("赵六", 22));
list.add(new Person("王五", 21));
list.add(new Person("赵六", 22));
List newList = new LinkedList();
Iterator iter = list.iterator();
while(iter.hasNext()){
Object obj = iter.next();
if(!newList.contains(obj)){
newList.add(obj);
}
}
System.out.println(newList);
}
}
网友评论