List的介绍

1. 什么是List

List是一个接口,继承自Collection。

Collection也是一个接口,该接口中规范了后序容器中常用的一些方法。

Iterable也是一个接口,表示实现该接口的类是可以逐个元素进行遍历。

2. 常见接口介绍

List中提供了好的方法,是常用方法如下:

|------------------------------------------|---------------------------|
| 方法 | 解释 |
| boolean add(E e) | 尾插 e |
| void add(int index, E element) | 将 e 插入到 index 位置 |
| boolean addAll(Collection c) | 尾插 c 中的元素 |
| E remove(int index) | 删除 index 位置元素 |
| boolean remove(Object o) | 删除遇到的第一个 o |
| E get(int index) | 获取下标 index 位置元素 |
| E set(int index, E element) | 将下标 index 位置元素设置为 element |
| void clear() | 清空 |
| boolean contains(Object o) | 判断 o 是否在线性表中 |
| int indexOf(Object o) | 返回第一个 o 所在下标 |
| int lastIndexOf(Object o) | 返回最后一个 o 的下标 |
| List subList(int fromIndex, int toIndex) | 截取部分 list |

java 复制代码
package Demo03;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List<String> strings = new ArrayList<>();
//        boolean add(E e)	尾插 e
        strings.add("A");
        strings.add("B");
        strings.add("C");
        strings.add("D");
        strings.add("E");
        strings.add("F");
        System.out.println(strings);

//      void add(int index, E element)	将 e 插入到 index 位置
        strings.add(1, "H");
        System.out.println(strings);

//       boolean addAll(Collection c) 	尾插 c 中的元素
        List<String> strings1 = new ArrayList<>(Arrays.asList("A", "B", "C"));
        List<String> strings2 = new ArrayList<>(Arrays.asList("A", "B", "C"));
        strings1.addAll(strings2);
        System.out.println(strings1);

//        E remove(int index)	删除 index 位置元素
        strings.remove(2);
        System.out.println(strings);

//        boolean remove(Object o)	删除遇到的第一个 o
        strings.remove("A");
        System.out.println(strings);

//        E get(int index) 获取下标 index 位置元素
        System.out.println(strings.get(2));


//        E get(int index) 获取下标 index 位置元素
        strings.set(1, "G");
        System.out.println(strings);

//        void clear() 清空
        strings.clear();
        System.out.println(strings);

//        boolean contains(Object o) 判断 o 是否在线性表中
        List<String> strings3 = new ArrayList<>(Arrays.asList("ABC", "B", "C", "C", "D", "E"));
        System.out.println(strings3.contains("ABC"));
        System.out.println(strings3.contains("P"));

//        int indexOf(Object o) 返回第一个 o 所在下标
        System.out.println(strings3.indexOf("ABC"));


//        int lastIndexOf(Object o) 返回最后一个 o 的下标
        System.out.println(strings3.lastIndexOf("C"));

//        List<E> subList(int fromIndex, int toIndex) 截取部分 list
        System.out.println(strings3.subList(1, 3));
    }
}

3. List的使用

注意:List是个接口,并不能直接用来实例化。

如果要使用,必须去实例化List的实现类。在集合框架中,ArrayList和LinkedList都实现了List接口。

相关推荐
绝知此事2 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
LuminousCPP3 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
AI算法沐枫4 小时前
深度学习python代码处理科研测序数据
数据结构·人工智能·python·深度学习·决策树·机器学习·线性回归
m0_629494736 小时前
LeetCode 热题 100-----26.环形链表 II
数据结构·算法·leetcode·链表
壹号用户6 小时前
用队列实现栈
数据结构·算法
欧米欧7 小时前
C++进阶数据结构之搜索二叉树
开发语言·数据结构·c++
小江的记录本7 小时前
【Java基础】反射与注解:核心原理、自定义注解、注解解析方式(附《思维导图》+《面试高频考点清单》)
java·数据结构·python·mysql·spring·面试·maven
Trouvaille ~8 小时前
【Redis篇】初识 Redis:特性、应用场景与版本演进
数据结构·数据库·redis·分布式·缓存·中间件·持久化
向日的葵00610 小时前
从IO视角深度对比:BST、红黑树、B树、B+树
数据结构·b树
小羊在睡觉10 小时前
力扣239. 滑动窗口最大值
数据结构·后端·算法·leetcode·go