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);
    }

输出:

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

相关推荐
大都督会赢的1 小时前
数据结构(2)--单链表
数据结构
cpp_25012 小时前
P2947 [USACO09MAR] Look Up S
数据结构·c++·算法·题解·单调栈·洛谷
小蒋学算法3 小时前
算法-乘法表中第K小的数-二分
数据结构·算法
m0_738120724 小时前
渗透测试基础——PHP 序列化数据结构与反序列化机制详解
android·服务器·网络·数据结构·安全·php
少司府5 小时前
C++进阶:红黑树
开发语言·数据结构·c++·b树·二叉树·红黑树
不会C语言的男孩5 小时前
C++ Primer 第19章:特殊工具与技术
数据结构·c++
hnjzsyjyj6 小时前
东方博宜OJ 1010:数组元素的排序 ← 桶排序
数据结构·排序算法·桶排序
小欣加油6 小时前
Leetcode31 下一个排列
数据结构·c++·算法·leetcode·职场和发展
凤凰院凶涛QAQ6 小时前
《Java版数据结构 & 集合类剖析》链表与LinkedList:节点手拉手,增删不用愁
java·数据结构·链表