Java数据结构之ArrayList(如果想知道Java中有关ArrayList的知识点,那么只看这一篇就足够了!)

        前言:ArrayList是Java中最常用的动态数组实现之一,它提供了便捷的操作接口和灵活的扩展能力,使得在处理动态数据集合时非常方便。本文将深入探讨Java中ArrayList的实现原理、常用操作以及一些使用场景。


✨✨✨这里是秋刀鱼不做梦的BLOG

✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客

在文章开始之前,先让我们看一下本文的大致内容:

目录

1.认识ArrayList

2.ArrayList的创建

(1)使用默认构造函数创建一个空的 ArrayList:

(2)使用带有初始容量的构造函数创建 ArrayList:

(3)使用 ArrayList(Collection c) 构造函数创建 ArrayList 的简单示例:

3.ArrayList的遍历

遍历ArrayList的方式:

        (1)使用for循环

        (2)使用增强型for循环:

        (3)使用迭代器

4.ArrayList常用API

        (1)boolean add(E e)——尾插 e

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

        (3)boolean addAll(Collection c)——尾插 c 中的元素

        (4)E remove(int index)——删除 index 位置元素

        (5)boolean remove(Object o)——删除遇到的第一个 o

        (6)E get(int index)——获取下标 index 位置元素

        (7)E set(int index, E element)——将下标 index 位置元素设置为 element

        (8)void clear()——清空

        (9)boolean contains(Object o)——判断 o 是否在线性表中

        (10)int indexOf(Object o)——返回第一个 o 所在下标

        (11)int lastIndexOf(Object o)——返回最后一个 o 的下标

        (12)List subList(int fromIndex, int toIndex)——截取部分 list


1.认识ArrayList

        在正式的学习ArrayList之前,我们需要了解一下什么是Java中的ArrayList(顺序表):

        ArrayList是Java中的一个动态数组类,它实现了List接口,可以存储任意类型的对象,并且大小可以动态地调整。ArrayList允许在列表的任意位置进行元素的插入、删除、获取等操作,而且它还能自动扩展内部数组的容量,以适应存储需求的增长。

ArrayList是一个普通的类,实现了List接口,具体框架图如下:

读到这就会有读者发问了,ArrayList到底是怎么去实现这些功能的呢?,它的底层原理到底是怎么样的呢?答案如下:

ArrayList的实现原理:

        ArrayList的内部实现是基于数组的,它使用一个Object类型的数组来存储元素。当创建一个ArrayList实例时,会初始化一个默认大小的数组,当数组容量不足以存储新的元素时,ArrayList会自动扩展数组的大小,通常会将当前数组的容量增加一倍,并将原来的元素复制到新数组中,当然其他的操作也是类似。

通过上面的描述,我们就大致的了解了Java中ArrayList(顺序表)了。

2.ArrayList的创建

        了解完了Java中ArrayList(顺序表),那么我们如何去创建并使用它呢?在Java中给我们提供了三种创建ArrayList(顺序表)的方式。

创建方式解释
ArrayList()无参构造
ArrayList(int initialCapacity)指定顺序表初始容量
ArrayList(Collection<? extends E> c)利用其他 Collection 构建 ArrayList

现在让我们使用三种不同的方式来创建一下ArrayList(顺序表):
 

(1)使用默认构造函数创建一个空的 ArrayList:

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个空的 ArrayList
        ArrayList<String> list1 = new ArrayList<>();
        
        // 添加元素到 ArrayList(这里可以先看一下就可以)
        list1.add("Apple");
        list1.add("Banana");
        list1.add("Orange");
        
        // 打印 ArrayList
        System.out.println("ArrayList 1: " + list1);
    }
}

(2)使用带有初始容量的构造函数创建 ArrayList:

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个具有初始容量的 ArrayList
        ArrayList<Integer> list2 = new ArrayList<>(5);
        
        // 添加元素到 ArrayList(这里先看一下就可以)
        list2.add(10);
        list2.add(20);
        list2.add(30);
        
        // 打印 ArrayList
        System.out.println("ArrayList 2: " + list2);
    }
}

(3)使用 ArrayList(Collection<? extends E> c) 构造函数创建 ArrayList 的简单示例:

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

public class Main {
    public static void main(String[] args) {
        // 创建一个包含初始元素的集合
        List<String> originalList = new ArrayList<>();
        originalList.add("Apple");
        originalList.add("Banana");
        originalList.add("Orange");
        
        // 使用原始集合创建一个新的 ArrayList
        ArrayList<String> newList = new ArrayList<>(originalList);
        
        // 打印新的 ArrayList
        System.out.println("New ArrayList: " + newList);
    }
}

这样我们就了解了如何在Java中创建ArrayList(顺序表)了。

3.ArrayList的遍历

        在认识ArrayList的段落中,我们知道了ArrayList的底层是一个动态数组,既然是数组的话,我们是不是可以像遍历数组一样遍历ArrayList呢?答案是——是的,但是在此之上我们还可以使用迭代器对其进行遍历。

遍历ArrayList的方式:

        (1)使用for循环

for (int i = 0; i < list.size(); i++) {
    int element = list.get(i);
    System.out.println(element);
}

        (2)使用增强型for循环:

for (int element : list) {
    System.out.println(element);
}

       

        (3)使用迭代器

Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
    int element = iterator.next();
    System.out.println(element);
}

        以上就是三种遍历Java中ArrayList的方式,每种方式都有其适用的场景,我们需要根据实际需求选择最合适的方式来遍历ArrayList对象。

4.ArrayList常用API

        在上文中,我们大致的了解了什么是Java中的ArrayList,以及学会了创建和遍历Java中的ArrayList,现在让我们学习一下Java中提供给我们的ArrayList中的常用API。

先让我们看一下有哪些常用的ArrayList中的API:

常用方法解释
boolean add(E e)尾插 e
void add(int index, E element)将 e 插入到 index 位置
boolean addAll(Collection<? extends E> 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<E> subList(int fromIndex, int toIndex)截取部分 list

这里我们一个一个的进行实例演示:

        (1)boolean add(E e)——尾插 e

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个空的 ArrayList
        ArrayList<String> list = new ArrayList<>();
        
        // 向 ArrayList 中添加元素
        list.add("Apple");
        
        // 打印添加操作的结果
        System.out.println(list); // 输出:Apple
    }
}

        在这个示例中,我们创建了一个空的 ArrayList,然后使用 add() 方法向其中添加了一个元素 "Apple",最后打印了list。

       

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

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个空的 ArrayList
        ArrayList<String> list = new ArrayList<>();
        
        // 向 ArrayList 中指定位置添加元素
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        System.out.println(list); // 输出:[Apple, Banana, Orange]
        
        list.add(1, "Grapes"); // 在索引 1 处添加元素 "Grapes"
        
        // 打印添加后的 ArrayList
        System.out.println(list); // 输出:[Apple, Grapes, Banana, Orange]
    }
}

        在这个示例中,我们创建了一个空的 ArrayList,然后使用 add() 方法向其中添加了三个元素:"Apple"、"Banana" 和 "Orange"。接着,我们使用 add(int index, E element) 方法在索引 1 处添加了元素 "Grapes"。最后,我们打印了添加后的 ArrayList,可以看到 "Grapes" 被成功添加到了索引 1 处。

        (3)boolean addAll(Collection<? extends E> c)——尾插 c 中的元素

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

public class Main {
    public static void main(String[] args) {
        // 创建一个空的 ArrayList
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("Apple");
        list1.add("Banana");
        
        // 创建一个包含元素的集合
        List<String> elementsToAdd = Arrays.asList("Orange", "Grapes");
        
        // 使用 addAll() 方法将集合中的元素添加到 ArrayList 中
        list1.addAll(elementsToAdd);   
       
        // 打印最终的 ArrayList
        System.out.println(list1); // 输出:[Apple, Banana, Orange, Grapes]
    }
}

        在这个示例中,我们创建了一个空的 ArrayList,然后向其中添加了两个元素:"Apple" 和 "Banana"。接着,我们创建了一个包含两个元素的集合 elementsToAdd。最后,我们使用 addAll() 方法将集合 elementsToAdd 中的元素添加到 ArrayList 中。

        (4)E remove(int index)——删除 index 位置元素

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个包含几个元素的 ArrayList
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        
        // 打印原始的 ArrayList
        System.out.println("Original ArrayList: " + list); // 输出:[Apple, Banana, Orange]
        
        // 移除索引为 1 处的元素
        String removedElement = list.remove(1);
        
        // 打印被移除的元素和最终的 ArrayList
        System.out.println("Removed element: " + removedElement); // 输出:Banana
        System.out.println("Final ArrayList: " + list); // 输出:[Apple, Orange]
    }
}

        在这个示例中,我们创建了一个包含三个元素的 ArrayList,然后使用 remove(int index) 方法移除了索引为 1 处的元素 "Banana"。最后,我们打印了被移除的元素和最终的 ArrayList,可以看到 "Banana" 被成功移除了。

        (5)boolean remove(Object o)——删除遇到的第一个 o

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个包含几个元素的 ArrayList
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        
        // 打印原始的 ArrayList
        System.out.println("Original ArrayList: " + list); // 输出:[Apple, Banana, Orange]
        
        // 移除元素 "Banana"
        list.remove("Banana");
        
        // 打印最终的 ArrayList
        System.out.println(list); // 输出:[Apple, Orange]
    }
}

        在这个示例中,我们创建了一个包含三个元素的 ArrayList,然后使用 remove(Object o) 方法移除了元素 "Banana"。最后,我们打印了最终的 ArrayList,可以看到 "Banana" 被成功移除了。

        (6)E get(int index)——获取下标 index 位置元素

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个包含几个元素的 ArrayList
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        
        // 获取索引为 1 处的元素
        String element = list.get(1);
        
        // 打印获取到的元素
        System.out.println(element); // 输出:Banana
    }
}

        在这个示例中,我们创建了一个包含三个元素的 ArrayList,然后使用 get(int index) 方法获取了索引为 1 处的元素。最后,我们打印了获取到的元素,可以看到获取操作成功返回了 "Banana" 这个元素。

        (7)E set(int index, E element)——将下标 index 位置元素设置为 element

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个包含几个元素的 ArrayList
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        
        // 打印原始的 ArrayList
        System.out.println(list); // 输出:[Apple, Banana, Orange]
        
        // 将索引为 1 处的元素替换为 "Grapes"
        list.set(1, "Grapes");
        
        // 打印最终的 ArrayList
        System.out.println(list); // 输出:[Apple, Grapes, Orange]
    }
}

        在这个示例中,我们创建了一个包含三个元素的 ArrayList,然后使用 set(int index, E element) 方法将索引为 1 处的元素 "Banana" 替换为 "Grapes"。最后,我们打印了最终的 ArrayList,可以看到替换操作成功地将 "Banana" 替换为了 "Grapes"。

        (8)void clear()——清空

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个包含几个元素的 ArrayList
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        
        // 打印原始的 ArrayList
        System.out.println(list); // 输出:[Apple, Banana, Orange]
        
        // 使用 clear() 方法清空 ArrayList
        list.clear();
        
        // 打印清空后的 ArrayList
        System.out.println(list); // 输出:[]
    }
}

        在这个示例中,我们创建了一个包含三个元素的 ArrayList,然后使用 clear() 方法清空了该列表。最后,我们打印了清空后的 ArrayList,可以看到列表中不再包含任何元素。

        (9)boolean contains(Object o)——判断 o 是否在线性表中

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个包含几个元素的 ArrayList
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        
        // 检查 ArrayList 是否包含元素 "Banana"
        boolean containsBanana = list.contains("Banana");
        
        // 打印检查结果
        System.out.println(containsBanana); // 输出:true
    }
}

        在这个示例中,我们创建了一个包含三个元素的 ArrayList,然后使用 contains(Object o) 方法检查列表中是否包含元素 "Banana"。最后,我们打印了检查结果,可以看到列表中确实包含 "Banana" 元素。

        (10)int indexOf(Object o)——返回第一个 o 所在下标

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个包含几个元素的 ArrayList
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        
        // 获取元素 "Banana" 在 ArrayList 中的索引
        int index = list.indexOf("Banana");
        
        // 打印索引值
        System.out.println(index); // 输出:1
    }
}

        在这个示例中,我们创建了一个包含三个元素的 ArrayList,然后使用 indexOf(Object o) 方法获取了元素 "Banana" 在列表中的索引。最后,我们打印了索引值,可以看到 "Banana" 元素的索引是 1。

        (11)int lastIndexOf(Object o)——返回最后一个 o 的下标

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个包含几个元素的 ArrayList
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        list.add("Banana");
        
        // 获取元素 "Banana" 在 ArrayList 中的最后一个索引
        int lastIndex = list.lastIndexOf("Banana");
        
        // 打印最后一个索引值
        System.out.println(lastIndex); // 输出:3
    }
}

        在这个示例中,我们创建了一个包含四个元素的 ArrayList,其中包含两个 "Banana" 元素。然后使用 lastIndexOf(Object o) 方法获取了元素 "Banana" 在列表中的最后一个索引。最后,我们打印了最后一个索引值,可以看到最后一个 "Banana" 元素的索引是 3。

        (12)List<E> subList(int fromIndex, int toIndex)——截取部分 list

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

public class Main {
    public static void main(String[] args) {
        // 创建一个包含几个元素的 ArrayList
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        list.add("Grapes");
        list.add("Kiwi");
        
        // 获取子列表,包括索引 1 到 3 的元素,但不包括索引 3
        List<String> subList = list.subList(1, 3);
        
        // 打印子列表
        System.out.println(subList); // 输出:[Banana, Orange]
    }
}

        在这个示例中,我们创建了一个包含五个元素的 ArrayList,然后使用 subList(int fromIndex, int toIndex) 方法获取了子列表,包括索引 1 到 3 的元素,但不包括索引 3。最后,我们打印了子列表,可以看到子列表包含了 "Banana" 和 "Orange" 元素。

注意:

        在使用List<E> subList(int fromIndex, int toIndex)方法的时候,我们对获取的子列表进行修改的时候,原来的列表也会被修改。

这样我们就大致的了解了Java中ArrayList的常用API了。


以上就是本篇文章的全部内容了~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/701787.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙开发:通过startAbilityByType拉起垂类应用

通过startAbilityByType拉起垂类应用 使用场景 开发者可通过特定的业务类型如导航、金融等&#xff0c;调用startAbilityByType接口拉起对应的垂域面板&#xff0c;该面板将展示目标方接入的垂域应用&#xff0c;由用户选择打开指定应用以实现相应的垂类意图。垂域面板为调用…

Linux网络编程(二)Socket编程

Socket编程 一、网络套接字概念&#xff1a;socket 一个文件描述符指向一个套接字&#xff08;该套接字内部由内核借助两个缓冲区实现。&#xff09;在通信过程中&#xff0c; 套接字一定是成对出现的。二、网络字节序和主机字节序的转换函数&#xff08;ip和端口&#xff09…

代码随想录算法训练营第二十一天|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

530.二叉搜索树的最小绝对差 题目链接&#xff1a;530.二叉搜索树的最小绝对差 文档讲解&#xff1a;代码随想录 状态&#xff1a;还可以 思路&#xff1a;使用中序遍历来遍历二叉搜索树。在中序遍历过程中&#xff0c;比较当前节点和前驱节点的值&#xff0c;更新最小差值。返…

中国四大高原矢量示意图分享

我们在《中国地势三级阶梯示意图分享》一文中&#xff0c;为你分享了中国三级阶梯示意图的矢量文件。 现在&#xff0c;我们再为你分享中国四大高原的矢量示意图文件&#xff0c;你可以在文末查看文件的领取方法。 我国四大高原是如何划分的&#xff1f; 中国四大高原分别为…

你觉得前端开发人员有必要学习Rust吗?

有必要&#xff0c;为什么&#xff1f; 1. 性能优势 Rust能编译成高效的机器码&#xff0c;这对于需要高性能处理的前端项目尤其有利。例如&#xff0c;处理复杂的数据计算或图像处理时&#xff0c;Rust可以提供接近于C/C的性能&#xff0c;同时避免诸如内存泄漏或缓冲区溢出…

2024中国网络安全产品用户调查报告(发布版)

自2020年始&#xff0c;人类进入了21世纪的第二个十年&#xff0c;全球进入了百年未有之大变局&#xff0c;新十年的开始即被新冠疫情逆转了全球化发展的历程&#xff0c;而至2022年3月俄乌战争又突然爆发&#xff0c;紧接着2023年7月“巴以冲突"皱起&#xff0c;世界快速…

LabVIEW进行负载测试

本文介绍了如何使用LabVIEW进行负载测试&#xff0c;通过一个具体案例详细讲解了测试系统的组成、工作原理和实现方法。系统采用先进的硬件和软件架构&#xff0c;结合LabVIEW的强大功能&#xff0c;成功实现了对设备的高效负载测试&#xff0c;确保了系统的可靠性和性能。 项…

LogicFlow 学习笔记——1. 初步使用 LogicFlow

什么是 LogicFlow LogicFlow 是一个开源的前端流程图编辑器和工作流引擎&#xff0c;旨在帮助开发者和业务人员在网页端创建、编辑和管理复杂的业务流程和工作流。它提供了一个直观的界面和强大的功能&#xff0c;使得设计和管理工作流变得更加高效和便捷。 官网地址&#xff…

时间轴、流程类时间轴绘制

效果图 可控制是否绘制在中间控制绘制的线条是否为虚线控制第一条数据圆顶部线条和最后一条数据圆底部线条是否绘制 除了gif图片展示的属性&#xff0c;还可以控制圆的大小颜色、圆是否有上和左偏移、线条颜色等属性 除了通用的时间轴绘制&#xff0c;我们还可以通过改变绘制…

国外创意二维码应用:飞利浦旧物翻新活动,传播可持续性消费的重要性!

你知道去年有超过1000万件礼物被扔进了垃圾场吗? 这些被丢弃的物品中有许多仍在使用&#xff0c;飞利浦希望改变这种浪费现象。 去年的地球日&#xff0c;飞利浦策划了一场名为“Better than New” 的二维码营销活动。他们发布了一个视频&#xff0c;通过这个短视频将所有最终…

微信小程序组件传值

虽然微信小程序是比较轻量的&#xff0c;但是还是拥有组件的 这是文件的基本目录 我们的代码基本都在pages和components文件夹中 在component中创建组件 在component中 &#xff0c;创建一个目录 我创建了一个 head目录 用于配置头部信息 我在这里创建了 一个头部组件&…

Vue基础知识:异步DOM更新是什么?$nextTick是什么?到底应该如何使用。什么是同步?什么是异步?

要先了解异步dom更新是什么就必须先了解&#xff0c;什么是同步&#xff1f;什么是异步&#xff1f; 1.什么是同步&#xff1f;什么是异步&#xff1f; 同步&#xff08;Synchronous&#xff09;&#xff1a; 同步操作是按照代码的顺序执行的&#xff0c;每个操作都必须等待上…

NiceGUI:让Python变身为Web应用开发大师的神器

简介 NiceGUI是一个易于使用的基于Python的UI框架&#xff0c;可以在您的Web浏览器中使用。您可以创建按钮、对话框、Markdown、3D场景、图表等等。 NiceGUI开源支持较好&#xff0c;代码更新频率较高&#xff0c;目前已经更新至: V1.4.26。 适用场景 NiceGUI非常适用于各种…

为什么 JavaScript 在国外逐渐用于前端+后端开发

这个问题其实没人能给出可证伪的结论&#xff0c;那不如干脆给一个感性的答案: 因为阿里“不争气”。 确切的说&#xff0c;因为阿里的nodejs团队没卷赢&#xff0c;至少暂时还没卷赢&#xff0c;没拿到真正有价值的业务场景&#xff0c;做出真正有说服力的案例项目。刚好我有…

【微信小程序】开发环境配置

目录 小程序的标准开发模式&#xff1a; 注册小程序的开发账号 安装开发者工具 下载 设置外观和代理 第一个小程序 -- 创建小程序项目 查看项目效果 第一种&#xff1a;在模拟器上查看项目效果 项目的基本组成结构 小程序代码的构成 app.json文件 project.config…

8.2 Go 导入与导出

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

手机短信验证码登录

用户需求&#xff1a; 1、用户使用手机号和短信验证码登录系统 2、未注册过的手机号再登录时实现自动注册 3、新注册的账号只有7天的使用时间&#xff0c;过期后不允许进行登录 功能需求&#xff1a; 登录页面设计 图1.手机号登录 【验证码登录】规则说明&#xff1a; …

各类电机数学模型相关公式总结 —— 集成芯片驱动

0、背景技术概述 永磁直流电机&#xff08;PMDC&#xff09;、永磁同步电机&#xff08;PMSM&#xff09;、无刷直流电机&#xff08;BLDC&#xff09;以及混合式两相步进电机在小功率应用场景中多采用集成芯片驱动&#xff08;如二合一、三合一驱动芯片&#xff09;的原因主要…

Linux C语言:函数的基本用法及传参

一、函数的基本用法 1、main函数 int main(int argc, const char * argv[]) { printf("Hello world\n"); return 0; }数据类型 函数名称 (参数) { //.... return 表达式 } 2、函数 函数是一个完成特定功能的代码模块&#xff0c;其程序代码独立&#xff0c;通常要…

使用Python修改word文档中的表格

使用Python编辑word文档中的表格 介绍效果代码代码解析 介绍 使用python修改word文档中的表格。 效果 修改前的word文档&#xff1a; 注意红框中的表格。 修改后的word文档&#xff1a; 表格内容已经修改。 代码 from docx import Document# 加载现有的Word文档 doc D…