Java数据结构(四):List的介绍

🌸雨落在了我的手上:个人主页

🐟个人仓库:Gitee仓库

❄️个人专栏:<<JaveSe>> <<C语言>> <<C语言数据结构>>**

🔥🔥🔥 人生格言: 无人扶我青云志,我自踏雪至山巅

🎬 博主简介:

目录

一:什么是List

二:常⻅⽅法介绍

三:List的使⽤

[1. boolean add(E e): 尾插 e](#1. boolean add(E e): 尾插 e)

[2. void add(int index, E element): 将 e 插入到 index 位置](#2. void add(int index, E element): 将 e 插入到 index 位置)

[3. E get(int index): 获取下标 index 位置元素](#3. E get(int index): 获取下标 index 位置元素)

[4. E set(int index, E element): 将下标 index 位置元素设置为 element](#4. E set(int index, E element): 将下标 index 位置元素设置为 element)

[5.E remove(int index): 删除 index 位置元素](#5.E remove(int index): 删除 index 位置元素)

[6.boolean contains(Object o): 判断 o 是否在线性表中](#6.boolean contains(Object o): 判断 o 是否在线性表中)

[7.List subList(int fromIndex, int toIndex): 截取部分 list (左闭右开)](#7.List subList(int fromIndex, int toIndex): 截取部分 list (左闭右开))

[8.void clear(): 清空](#8.void clear(): 清空)


内容大纲:

本文介绍了Java集合框架中的List接口及其常用方法。List作为继承自Collection的接口,代表线性表数据结构,支持增删改查等操作。重点讲解了8个常用方法:add(尾插/指定位置插入)、get(获取元素)、set(修改元素)、remove(删除)、contains(判断存在)、subList(截取子列表)和clear(清空),并通过ArrayList示例代码演示了每个方法的使用效果。最后指出List需要通过实现类(如ArrayList/LinkedList)实例化,为后续内容做铺垫。

一:什么是List

在集合框架中,List是⼀个接⼝,继承⾃Collection。

Collection也是⼀个接⼝,该接⼝中规范了后序容器中常⽤的⼀些⽅法,具体如下所⽰:

Iterable也是⼀个接⼝,表⽰实现该接⼝的类是可以逐个元素进⾏遍历的,具体如下:

站在数据结构的⻆度来看,List就是⼀个线性表,即n个具有相同类型元素的有限序列,在该序列上可 以执⾏增删改查以及变量等操作。

二:常⻅⽅法介绍

虽然⽅法⽐较多,但是常⽤⽅法如下:

三:List的使⽤

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

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

1. boolean add(E e): 尾插 e

java 复制代码
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("appeal");
        list.add("banna");
        list.add("zhangsan");
        System.out.println(list);
    }
}

输出:

2. void add(int index, E element): 将 e 插入到 index 位置

java 复制代码
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("appeal");
        list.add(0,"lele");
        list.add(1,"sasa");
        list.add(2,"haha");
        System.out.println(list);
    }

输出:

3. E get(int index): 获取下标 index 位置元素

java 复制代码
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("appeal");
        list.add("banna");
        list.add("zhangsan");
        String index = list.get(0);
        System.out.println(index);
    }

输出:

4. E set(int index, E element): 将下标 index 位置元素设置为 element

java 复制代码
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("appeal");
        list.add("banna");
        list.add("zhangsan");
        String ret = list.set(0,"hahaha");
        System.out.println(list);
    }

输出:

5.E remove(int index): 删除 index 位置元素

java 复制代码
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("appeal");
        list.add("banna");
        list.add("zhangsan");
        String remo = list.remove(0);
        System.out.println(list);
    }

输出:

6.boolean contains(Object o): 判断 o 是否在线性表中

java 复制代码
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("appeal");
        list.add("banna");
        list.add("zhangsan");
        System.out.println(list.contains("appeal"));
    }

输出:

7.List<E> subList(int fromIndex, int toIndex): 截取部分 list (左闭右开)

java 复制代码
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("appeal");
        list.add("banna");
        list.add("zhangsan");
        List<String> sub = list.subList(0,2); //左闭右开
        System.out.println(sub);

    }

输出:

8.void clear(): 清空

java 复制代码
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("appeal");
        list.add("banna");
        list.add("zhangsan");
        list.clear();
        System.out.println(list);
    }

输出:

以上就是我们的全部内容了,下一章我会继续介绍!!!!

相关推荐
CSharp精选营2 小时前
关系型 vs 非关系型:从原理到选型,一文搞定数据库核心分类
数据结构·nosql·关系型数据库·非关系型数据库·技术选型
刘马想放假3 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
北域码匠4 天前
冒泡排序太慢?鸡尾酒排序双向优化,原生 C# 零第三方库完整代码
数据结构·排序算法·泛型·c# 算法·鸡尾酒排序·原生 c# 开发·冒泡排序优化·嵌入式算法
Darling噜啦啦11 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
小小工匠12 天前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
玖玥拾12 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
Qres82112 天前
算法复键——树状数组
数据结构·算法
牛油果子哥q12 天前
并查集(DSU)超精讲,路径压缩、按秩合并、万能模板、连通性判定、最小生成树与刷题实战全解
数据结构·c++·最小生成树·并查集
凌波粒12 天前
LeetCode--491.递增子序列(回溯算法)
数据结构·算法·leetcode
WL学习笔记12 天前
单项不带头不循环链表
数据结构·链表