【List集合常用子类】ArrayList和LinkedList

List集合子类

List集合常用子类:ArrayList、LinkedList,使用时都需要导包

  • ArrayList:底层数据结构是数组,查询快,增删慢
  • LinkedList:底层数据结构是链表,查询慢,增删快

1.分别使用ArrayList和LinkedList完成存储字符串并遍历

package com.gather.list;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
public class ListDemo05 {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList<String> array=new ArrayList<String>();
        array.add("hello");
        array.add("world");
        array.add("java");
        //遍历
        //增强for循环
        for(String s:array){
            System.out.println(s);
        }
        System.out.println("========================");
        LinkedList<String> linkedList=new LinkedList<String>();
        linkedList.add("hello");
        linkedList.add("world");
        linkedList.add("java");
        for (String s:linkedList){
            System.out.println(s);
        }
    }
}

2.案例:ArrayList集合存储学生对象使用三种方式遍历

package com.gather.list.example;
import java.util.ArrayList;
import java.util.Iterator;
public class ListDemo03 {
    public static void main(String[] args) {
        ArrayList<Student> array = new ArrayList<Student>();
        Student s1 = new Student("郝佳乐", 20);
        Student s2 = new Student("张三", 18);
        Student s3 = new Student("李四", 22);
        array.add(s1);
        array.add(s2);
        array.add(s3);
        //迭代器方式遍历
        Iterator<Student> it = array.iterator();
        while (it.hasNext()) {
            Student s = it.next();
            System.out.println(s.getName() + "," + s.getAge());
        }
        System.out.println("=====================");
        //普通for的方式
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            System.out.println(s.getName() + "," + s.getAge());

        }
        System.out.println("======================");
        //增强for的方式
        for (Student s:array){
            System.out.println(s.getName() + "," + s.getAge());
        }
    }
}

3.LinkedList集合的特有功能

  • public void addFirst(E e):在该列表开头插入指定的元素

  • public void addLast(E e):将指定的元素追加到此列表的末尾

    package com.gather.list;
    import java.util.LinkedList;
    //LinkedList特有功能
    public class ListDemo06 {
        public static void main(String[] args) {
            LinkedList<String> linkedList=new LinkedList<String>();
            linkedList.add("hello");
            linkedList.add("world");
            linkedList.add("java");
            linkedList.addFirst("javaee");
            linkedList.addLast("javase");
            System.out.println(linkedList);
        }
    }
    
  • public E getFirst():返回此列表中的第一个元素

  • public E getLast():返回此列表中的最后一个元素

    package com.gather.list;
    import java.util.LinkedList;
    public class ListDemo06 {
        public static void main(String[] args) {
            LinkedList<String> linkedList=new LinkedList<String>();
            linkedList.add("hello");
            linkedList.add("world");
            linkedList.add("java");
            System.out.println(linkedList.getFirst());
            System.out.println(linkedList.getLast());
            System.out.println(linkedList);
        }
    }
    
  • public E removeFirst():从此列表中删除并返回第一个元素

  • public E removeLast():从此列表中删除并返回最后一个元素

    package com.gather.list;
    import java.util.LinkedList;
    public class ListDemo06 {
        public static void main(String[] args) {
            LinkedList<String> linkedList=new LinkedList<String>();
            linkedList.add("hello");
            linkedList.add("world");
            linkedList.add("java");
            System.out.println(linkedList.removeFirst());
            System.out.println(linkedList.removeLast());
            System.out.println(linkedList);
        }
    }
    
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>