目录
1:linkedList类概述
2:linkedList类特有功能
3:linkedList案例
存储字符串并遍历
存储自定义对象并遍历
1:linkedList类概述
底层数据结构是链表,查询慢,增删快 线程不安全,效率高
注意:由于linkedList类继承List而List继承Collection所以重写了他们的方法。
2:linkedList类特有功能
(1:public void addFirst(E e)在该列表开头插入指定的元素
(2:addLast(E e)将指定的元素追加到此列表的末尾。
(3:public E getFirst()返回此列表中的第一个元素。
(4:getLast()返回此列表中的最后一个元素。
(5:public E removeFirst()从此列表中删除并返回第一个元素。
(6:public E removeLast()从此列表中删除并返回最后一个元素。
(7:listIterator(int index)
从列表中的指定位置开始,返回此列表中元素的列表迭代器(按适当的顺序)。
package day27;
import java.util.linkedList;
import java.util.ListIterator;
public class Test8 {
public static void main(String[] args) {
linkedList l = new linkedList();//创建 linkedList对象
//添加元素
l.add("hello");
l.add("java");
l.addFirst("1");//在集合首添加1
l.addLast("hadoop");//在集合末尾添加hadoop
Object first = l.getFirst();//获取第一个元素
System.out.println("first:"+first);//输出第一个元素
System.out.println("=====================================");
Object last = l.getLast();//获取最后一个元素
System.out.println("last:"+last);//输出最后一个元素
System.out.println("=====================================");
Object o1 = l.removeFirst();//删除第一个元素
System.out.println(o1);//输出第一个删除的元素
System.out.println("=====================================");
Object o = l.removeLast();//删除最后一个元素
System.out.println(o);//输出最后一个元素
System.out.println("=====================================");
//迭代器输出集合
ListIterator listIterator = l.listIterator();
while(listIterator.hasNext()){
Object next = listIterator.next();
System.out.println(next);
}
}
}
3:linkedList案例
存储字符串并遍历
package day27;
import java.util.linkedList;
import java.util.ListIterator;
public class Test9 {
public static void main(String[] args) {
linkedList l = new linkedList();//创建linkedList对象
//添加元素
l.add("java");
l.addLast("hadoop");
l.add("mysql");
l.addFirst("hello");
l.add("spark");
//迭代器正着遍历遍历
ListIterator listIterator = l.listIterator();
while(listIterator.hasNext()){
Object next = listIterator.next();
System.out.println(next);
}
System.out.println("=================================");
//迭代器反着遍历
while(listIterator.hasPrevious()){
Object previous = listIterator.previous();
System.out.println(previous);
}
System.out.println("=================================");
//利用普通for循环遍历
for(int i=0;i
存储自定义对象并遍历
package day27;
public class Student {
private int age;
private String name;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
public Student() {
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student{" +
"age=" + age +
", name='" + name + ''' +
'}';
}
}
package day27;
import java.util.linkedList;
import java.util.ListIterator;
public class Test10 {
public static void main(String[] args) {
linkedList l = new linkedList();
Student s1 = new Student(18, "小花");
Student s2 = new Student(17, "小明");
Student s3 = new Student(19, "小可");
Student s4 = new Student(20, "小良");
Student s5 = new Student(22, "小亮");
//把学生对象添加到元素中
l.add(s1);
l.add(s2);
l.add(s3);
l.add(s4);
l.add(s5);
//迭代器遍历
ListIterator listIterator = l.listIterator();
while(listIterator.hasNext()){
Object next = listIterator.next();
Student s = (Student)next;//向下转型
System.out.println(s.getName()+"**"+s.getAge());//得到学生的姓名和年龄并且输出
}
System.out.println("==============================================");
//普通for循环遍历
for(int i=0;i
package day27;
import java.util.linkedList;
import java.util.ListIterator;
public class Test9 {
public static void main(String[] args) {
linkedList l = new linkedList();//创建linkedList对象
//添加元素
l.add("java");
l.addLast("hadoop");
l.add("mysql");
l.addFirst("hello");
l.add("spark");
//迭代器正着遍历遍历
ListIterator listIterator = l.listIterator();
while(listIterator.hasNext()){
Object next = listIterator.next();
System.out.println(next);
}
System.out.println("=================================");
//迭代器反着遍历
while(listIterator.hasPrevious()){
Object previous = listIterator.previous();
System.out.println(previous);
}
System.out.println("=================================");
//利用普通for循环遍历
for(int i=0;i
存储自定义对象并遍历
package day27;
public class Student {
private int age;
private String name;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
public Student() {
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student{" +
"age=" + age +
", name='" + name + ''' +
'}';
}
}
package day27;
import java.util.linkedList;
import java.util.ListIterator;
public class Test10 {
public static void main(String[] args) {
linkedList l = new linkedList();
Student s1 = new Student(18, "小花");
Student s2 = new Student(17, "小明");
Student s3 = new Student(19, "小可");
Student s4 = new Student(20, "小良");
Student s5 = new Student(22, "小亮");
//把学生对象添加到元素中
l.add(s1);
l.add(s2);
l.add(s3);
l.add(s4);
l.add(s5);
//迭代器遍历
ListIterator listIterator = l.listIterator();
while(listIterator.hasNext()){
Object next = listIterator.next();
Student s = (Student)next;//向下转型
System.out.println(s.getName()+"**"+s.getAge());//得到学生的姓名和年龄并且输出
}
System.out.println("==============================================");
//普通for循环遍历
for(int i=0;i



