List集合-数据结构

List集合-数据结构

数据结构是计算机存储,组织数据的方式.是指相互之间存在一种或多种特定关系的数据元素的集合.
通常情况下, 精心选择的数据结构可以带来更高的运行或者存储效率.








数组:查询快, 增删慢.
链表:查询慢, 增删快.

List集合子类的特点

package List;

import java.util.ArrayList;
import java.util.LinkedList;

//分别使用ArrayList和LinkedList完成存储字符串并遍历
public class ArrayList_LinkedListDemo {
    public static void main(String[] args) {
        //ArrayList
        ArrayList<String> al = new ArrayList<>();
        al.add("hello");
        al.add("world");
        for (String i : al){
            System.out.println(i);
        }
        LinkedList<String> ll = new LinkedList<>();
        ll.add("hello");
        ll.add("world");
        for (String i:ll){
            System.out.println(i);
        }
    }
}

LinkedList集合存储3个学生对象并用3种方式遍历

package List;

import java.util.Iterator;
import java.util.LinkedList;

/*
案例: 创建一个储存学生对象的LinkedList集合,存储3个学生对象,在控制台遍历
思路:
1. 定义学生类,
2. 创建LinkedList集合对象
3. 创建学生对象
4. 把学生添加到集合
5. 遍历集合(迭代器方式, 用for循环方式和增强for循环方式)
 */
public class LinkedListDemo {
    public static void main(String[] args) {
        LinkedList<student> link = new LinkedList<>();
        student s1 = new student("Peppa",5);
        student s2 = new student("George",3);
        link.add(s1);
        link.add(s2);
        //Iterator
        Iterator<student> it = link.iterator();
        while(it.hasNext()){
            student s = it.next();
            System.out.println(s.getName()+" , "+s.getAge());
        }
        System.out.println("--------------");
        //for loop
        for (int i = 0; i<link.size(); i++){
            student s = link.get(i);
            System.out.println(s.getName()+" , "+s.getAge());
        }
        System.out.println("--------------");
        //enhanced for
        for (student i : link){
            System.out.println(i.getName()+" , "+i.getAge());
        }
    }
}

LinkedList集合的特有功能

package List;
import java.util.LinkedList;
/*
2.12 LinkedList集合的特有功能
方法名														说明
public void addFirst(Ee)				在该列表开头插入指定的元素
public void addLast(E e)				将指定的元素追加到此列表的末尾
public E getFirst()						返回此列表中的第一个元素
public E getLast()						返回此列表中的最后一个元素
public E removeFirst()					从此列表中删除并返回第一个元素
public E removeLast()					从此列表中删除并返回最后一个元素
 */
public class LinkedListDemo02 {
    public static void main(String[] args) {
        LinkedList<String> link = new LinkedList<>();   //创建集合对象
        link.add("aaa");
        link.add("bbb");
        link.add("ccc");
        link.addFirst("AAA");   //开头添加
        link.addLast("XXX");    //末尾添加
        System.out.println(link.getFirst());    //返回第一个元素
        System.out.println(link.getLast());     //返回最后一个元素
        System.out.println(link.removeFirst());//删除first元素,返回被删除的元素
        System.out.println(link.removeLast());//删除last元素,返回被删除的元素
        System.out.println(link);
    }
}
/*控制台输出
AAA
XXX
AAA
XXX
[aaa, bbb, ccc]
 */
posted @ 2023-02-18 19:06  大宝贝94106  阅读(77)  评论(0)    收藏  举报