List 集合概述

  • 有序集合(也称为序列 )。 该界面的用户可以精确控制列表中每个元素的插入位置。 用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。
  • 与Set集合不同,列表通常有重复的元素。
package com.itheima_01;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/*
    List集合特点
        有序:存储和取出的元素一致
        可重复:存储的元素可以重复
 */
public class ListDemo {
    public static void main(String[] args) {
        //创建集合对象
        List<String> l = new ArrayList<String>();

        //添加元素
        //有序:存储和取出的元素一致
        l.add("regardless 不注意的");
        l.add("essential 基本的");
        l.add("emergency 紧急情况");
        //可重复:存储的元素可以重复
        l.add("regardless 不注意的");

        //输出元素
        System.out.println(l);

        //迭代器的方式遍历
        Iterator<String> it = l.iterator();
        while(it.hasNext()){
            String s = it.next();
            System.out.println(s);
        }
    }

}

List集合特有的方法


void

add(int index, E

将指定的元素插入此列表中的指定位置(可选操作)。

E

remove(int index)

删除该列表中指定位置的元素(可选操作)。

E

set(int index, E

用指定的元素(可选操作)替换此列表中指定位置的元素。

E

get(int index)

返回此列表中指定位置的元素。

package com.itheima_01;

import java.util.ArrayList;
import java.util.List;
/*
List集合特有的方法
    void	add(int index, E element)
        将指定的元素插入此列表中的指定位置(可选操作)。
    E	remove(int index)
        删除该列表中指定位置的元素(可选操作)。
    E	set(int index, E element)
        用指定的元素(可选操作)替换此列表中指定位置的元素。
    E	get(int index)
        返回此列表中指定位置的元素。
 */
public class ListDemo02 {
    public static void main(String[] args) {
        //创建集合对象
        List<String> l = new ArrayList<String>();

        //添加元素
        l.add("regardless 不注意的");
        l.add("essential 基本的");
        l.add("emergency 紧急情况");

        //输出集合元素
        System.out.println(l);

        //void	add(int index, E element)
        //        将指定的元素插入此列表中的指定位置(可选操作)。
        l.add(1,"resistance 阻力");

        // E	remove(int index)
        //        删除该列表中指定位置的元素(可选操作)。
        System.out.println(l.remove(1));

        // E	set(int index, E element)
        //        用指定的元素(可选操作)替换此列表中指定位置的元素。
        System.out.println(l.set(0,"已被修改"));

        //E	get(int index)
        //        返回此列表中指定位置的元素。
        //System.out.println(l.get(1));

        //用for循环改进
        for(int i=0; i<l.size(); i++){
            String s = l.get(i);
            System.out.println(s);
        }
        
    }
}

List常用集合子类

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

import sun.awt.image.ImageWatched;

import javax.crypto.spec.PSource;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;

/*
    List常用集合子类
        ArrayList:底层数据结构是数组,查询快,增删慢
        LinkedList:底层数据结构是链表,查询慢,增删快
 */
public class ListDemo {
    public static void main(String[] args) {
        //创建集合对象 ArrayList:底层数据结构是数组,查询快,增删慢
        ArrayList<String> a = new ArrayList<String>();

        //添加元素
        a.add("regardless 不注意的");
        a.add("essential 基本的");
        a.add("emergency 紧急情况");

        //遍历
        //增强for
        for(String s : a){
            System.out.println(s);
        }
        System.out.println("____________");
        //普通for
        for(int i=0;i<a.size(); i++){
            String s = a.get(i);
            System.out.println(s);
        }
        System.out.println("____________");
        //迭代器
        Iterator<String> it = a.iterator();
        while (it.hasNext()){
            String s1 = it.next();
            System.out.println(s1);
        }
        System.out.println("+++++++++++++++++");
        //LinkedList:底层数据结构是链表,查询慢,增删快
        LinkedList<String> LL = new LinkedList<String>();

        //添加元素
        LL.add("regardless 不注意的");
        LL.add("essential 基本的");
        LL.add("emergency 紧急情况");
        
        //增强for
        for (String s : LL ){
            System.out.println(s);
        }
    }
}