【JAVA基础篇教学】第八篇:Java中List详解说明

 博主打算从0-1讲解下java基础教学,今天教学第八篇:Java中List详解说明。

在 Java 编程中,List 接口是一个非常常用的集合接口,它代表了一个有序的集合,可以包含重复的元素。List 接口提供了一系列操作方法,可以方便地对列表进行增删改查等操作。本文将介绍 List 接口的基本概念以及如何在 Java 中使用 List 接口。

一、List 接口概述 

List 接口是 Java Collections Framework 中的一部分,位于 java.util 包中。它是一个接口,定义了一系列操作有序集合的方法,可以允许包含重复元素。

List 接口的主要特点包括:

  • 有序性:List 中的元素按照它们插入的顺序进行存储,可以根据索引访问每个元素。
  • 允许重复元素:List 可以包含重复的元素,同一个元素可以出现多次。

二、List 接口的常见实现类

Java 中常见的 List 接口的实现类包括:

  • ArrayList:基于数组实现的动态数组,支持快速随机访问。
  • LinkedList:基于双向链表实现的列表,适合插入、删除操作频繁的场景。
  • Vector:线程安全的动态数组,已被 ArrayList 取代,不推荐使用。

在本文中,我们将主要介绍 ArrayList 的使用。

三、教学案例

1、创建List

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

public class Main {
    public static void main(String[] args) {
        // 创建一个 ArrayList 对象
        List<String> myList = new ArrayList<>();

        // 添加元素到列表
        myList.add("Apple");
        myList.add("Banana");
        myList.add("Orange");
 
        System.out.println(myList);
    }
}

2、获取集合大小

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

public class Main {
    public static void main(String[] args) {
        // 创建一个 ArrayList 对象
        List<String> myList = new ArrayList<>();

        // 添加元素到列表
        myList.add("Apple");
        myList.add("Banana");
        myList.add("Orange");
        System.out.println(myList);

        // 获取列表大小
        int size = myList.size();
        System.out.println("List size: " + size);

    }
}

3、访问集合元素

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

public class Main {
    public static void main(String[] args) {
        // 创建一个 ArrayList 对象
        List<String> myList = new ArrayList<>();

        // 添加元素到列表
        myList.add("Apple");
        myList.add("Banana");
        myList.add("Orange");
        System.out.println(myList);

        // 获取列表大小
        int size = myList.size();
        System.out.println("List size: " + size);

        // 访问列表元素
        System.out.println("First element: " + myList.get(0));
        System.out.println("Last element: " + myList.get(size - 1));

       
       
    }
}

4、遍历列表并打印每个元素

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

public class Main {
    public static void main(String[] args) {
        // 创建一个 ArrayList 对象
        List<String> myList = new ArrayList<>();

        // 添加元素到列表
        myList.add("Apple");
        myList.add("Banana");
        myList.add("Orange");
        System.out.println(myList);

        // 获取列表大小
        int size = myList.size();
        System.out.println("List size: " + size);

        // 访问列表元素
        System.out.println("First element: " + myList.get(0));
        System.out.println("Last element: " + myList.get(size - 1));

        // 遍历列表并打印每个元素
        System.out.println("All elements:");
        for (String item : myList) {
            System.out.println(item);
        }

    }
}

 5、在指定位置插入元素

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

public class Main {
    public static void main(String[] args) {
        // 创建一个 ArrayList 对象
        List<String> myList = new ArrayList<>();

        // 添加元素到列表
        myList.add("Apple");
        myList.add("Banana");
        myList.add("Orange");
        System.out.println(myList);

        // 获取列表大小
        int size = myList.size();
        System.out.println("List size: " + size);

        // 访问列表元素
        System.out.println("First element: " + myList.get(0));
        System.out.println("Last element: " + myList.get(size - 1));

        // 遍历列表并打印每个元素
        System.out.println("All elements:");
        for (String item : myList) {
            System.out.println(item);
        }

        // 在指定位置插入元素
        myList.add(1, "Grapes");
        System.out.println("After inserting Grapes at index 1:");
        System.out.println("新的集合:"+ myList);

        
    }
}

6、删除指定位置的元素 

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

public class Main {
    public static void main(String[] args) {
         // 创建一个 ArrayList 对象
        List<String> myList = new ArrayList<>();

        // 添加元素到列表
        myList.add("Apple");
        myList.add("Banana");
        myList.add("Orange");

        System.out.println(myList);
        // 获取列表大小
        int size = myList.size();
        System.out.println("List size: " + size);
        // 访问列表元素
        System.out.println("First element: " + myList.get(0));
        System.out.println("Last element: " + myList.get(size - 1));

        // 遍历列表并打印每个元素
        System.out.println("All elements:");
        for (String item : myList) {
            System.out.println(item);
        }

        // 在指定位置插入元素
        myList.add(1, "Grapes");
        System.out.println("After inserting Grapes at index 1:");
        System.out.println("新的集合:" + myList);

        // 删除指定位置的元素
        myList.remove(2);
        System.out.println("After removing element at index 2:");
        System.out.println("删除后集合:" + myList);
    }
}

7、检查列表中是否包含某个元素

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

public class Main {
    public static void main(String[] args) {
         // 创建一个 ArrayList 对象
        List<String> myList = new ArrayList<>();

        // 添加元素到列表
        myList.add("Apple");
        myList.add("Banana");
        myList.add("Orange");

        System.out.println(myList);
        // 获取列表大小
        int size = myList.size();
        System.out.println("List size: " + size);
        // 访问列表元素
        System.out.println("First element: " + myList.get(0));
        System.out.println("Last element: " + myList.get(size - 1));

        // 遍历列表并打印每个元素
        System.out.println("All elements:");
        for (String item : myList) {
            System.out.println(item);
        }

        // 在指定位置插入元素
        myList.add(1, "Grapes");
        System.out.println("After inserting Grapes at index 1:");
        System.out.println("新的集合:" + myList);

        // 删除指定位置的元素
        myList.remove(2);
        System.out.println("After removing element at index 2:");
        System.out.println("删除后集合:" + myList);

        // 检查列表中是否包含某个元素
        boolean containsBanana = myList.contains("Banana");
        System.out.println("Does list contain Banana? " + containsBanana);
    }
}

8、清空列表

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

public class Main {
    public static void main(String[] args) {
         // 创建一个 ArrayList 对象
        List<String> myList = new ArrayList<>();

        // 添加元素到列表
        myList.add("Apple");
        myList.add("Banana");
        myList.add("Orange");

        System.out.println(myList);
        // 获取列表大小
        int size = myList.size();
        System.out.println("List size: " + size);
        // 访问列表元素
        System.out.println("First element: " + myList.get(0));
        System.out.println("Last element: " + myList.get(size - 1));

        // 遍历列表并打印每个元素
        System.out.println("All elements:");
        for (String item : myList) {
            System.out.println(item);
        }

        // 在指定位置插入元素
        myList.add(1, "Grapes");
        System.out.println("After inserting Grapes at index 1:");
        System.out.println("新的集合:" + myList);

        // 删除指定位置的元素
        myList.remove(2);
        System.out.println("After removing element at index 2:");
        System.out.println("删除后集合:" + myList);

        // 检查列表中是否包含某个元素
        boolean containsBanana = myList.contains("Banana");
        System.out.println("Does list contain Banana? " + containsBanana);

        // 清空列表
        myList.clear();
        System.out.println("After clearing the list:");
        System.out.println("清空后集合:"+ myList);
    }
}

本文介绍了 Java 中 List 接口的基本概念以及使用示例。List 接口是 Java 中最常用的集合接口之一,能够方便地对有序集合进行操作。在实际开发中,我们经常会使用 List 接口及其实现类来处理各种数据集合。希望本文能够帮助您更好地理解和使用 List 接口。 

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

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

相关文章

循序渐进丨MogDB 数据库带级联从库的集群切换后如何保持原有架构?

生产数据库运行过程中可能会涉及到升级或者打补丁&#xff0c;导致各节点的角色有计划的发生改变。如果集群内角色发生改变&#xff0c;是否还能保持原有架构继续对外提供服务呢&#xff1f;我们来做一下测试。 采用22模式模拟同城两机房部署4节点 MogDB 数据库集群&#xff0c…

Zookeeper集群+消息队列Kafka

一. Zookeeper 集群的相关知识 1. zookeeper的概念 ZooKeeper 是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务&#xff0c;是Google的Chubby一个开源的实现&#xff0c;是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xff0c;提供的…

docker:chown socket at step GROUP: No such process

docker:chown socket at step GROUP: No such process 原因&#xff1a;docker无法找到Group组信息&#xff0c;docker组有可能被误删除&#xff0c; 解决方式&#xff1a; groupadd docker Docker是一种相对使用较简单的容器&#xff0c;我们可以通过以下几种方式获取信息&am…

VBA中如何对工作表进行排序

代码 在VBA中对工作表进行排序的最简单方法是直接使用Move方法来移动工作表。 Sub SortSheetsByNameDescending()Dim sheetsDim sheet As WorksheetDim i As Integer, j As IntegerDim sortedSheets() As Array 获取当前工作簿中的所有工作表Set sheets ThisWorkbook.Sheets…

车载平板丨车载终端丨车载平板电脑前景如何?

随着人们对车辆安全性和稳定性的关注日益增加&#xff0c;车载加固终端市场前景非常广阔。根据市场研究机构的数据显示&#xff0c;全球车载加固终端市场规模将在未来几年内快速增长。预计到2025年&#xff0c;全球车载加固终端市场规模将达到约55亿美元&#xff0c;年复合增长…

区块链安全-----区块链基础

区块链是一种全新的信息网络架构 &#xff0c;是新一代信息基础设施 &#xff0c;是新型的价值交换方式、 分布式协 同生产机制以及新型的算法经济模式的基础。 区块链技术可以集成到多个领域。 区块链的主要用途 是作为加密货币的分布式总帐。 它在银行 &#xff0c;金融 &…

初识Linux:探索其文件系统与命令行的魅力

一. 引言 Linux操作系统凭借其卓越的稳定性和灵活性赢得了广大用户的青睐&#xff0c;其中一个核心理念就是“一切皆文件”。这一理念广泛应用于文件、目录、设备、进程、网络链接等各种系统资源&#xff0c;使得所有操作都能通过统一的文件操作接口&#xff0c;如fopen()、fcl…

WPS二次开发系列:快速了解WPS SDK功能

作者持续关注WPS二次开发专题系列&#xff0c;持续为大家带来更多有价值的WPS开发技术细节&#xff0c;如果能够帮助到您&#xff0c;请帮忙来个一键三连&#xff0c;更多问题请联系我&#xff08;WPS二次开发QQ群:250325397&#xff09;&#xff0c;摸鱼吹牛嗨起来&#xff01…

家庭网络防御系统搭建-siem之security onion 安装配置过程详解

本文介绍一下security onion的安装流程&#xff0c;将使用该工具集中管理终端EDR和网络NDR sensor产生的日志。 充当SIEM的平台有很多&#xff0c;比如可以直接使用原生的elastic以及splunk等&#xff0c;security onion的优势在于该平台能够方便的集成网络侧&#xff08;比如…

2024mathorcup数学建模D题思路分析-量子计算在矿山设备配置及运营中的建模应用

# 1 赛题 D 题 量子计算在矿山设备配置及运营中的建模应用 随着智能技术的发展&#xff0c;智慧矿山的概念越来越受到重视。越来越多的 设备供应商正在向智慧矿山整体解决方案供应商转型&#xff0c;是否具备提供整体 解决方案的能力&#xff0c;也逐步成为众多矿山设备企业的核…

c++命令行解析开源库cxxopts上手教程

文章目录 cxxopts快速入门1. cmake环境配置2. 定义解析的规则3. 使用例子 cxxopts 简介 cxxopts是一个轻量级的C命令行解析库&#xff0c;它提供了易于使用的API来定义和解析命令行选项。它支持多种类型的选项&#xff0c;并且允许用户自定义选项的处理逻辑。 项目地址&#x…

使用MATLAB的cylinder函数生成圆柱体及其他应用

cylinder 函数是 MATLAB 中的一个内置函数&#xff0c;用于生成表示圆柱体表面的坐标点。这些坐标点可以用于绘制三维图形&#xff0c;如使用 surf 或 mesh 函数进行可视化。 cylinder函数生成单位圆柱体的x、y和z坐标。您可以使用surf或mesh来绘制圆柱形对象&#xff0c;或者…

二刷大数据(一)- Hadoop

目录 大数据4V Hadoop概念Hadoop大版本区别HDFS产生背景架构文件块大小写文件流程读数据流程NameNode & SecondNameNodeDataNode工作机制 YARNMapReduce为什么不适合实时核心思想切片与MapTask原理MapTask机制MapReduceApplicationMasterApplicationMaster shuffle机制Redu…

本地部署开源免费文件传输工具LocalSend并实现公网快速传送文件

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-X4xB3gSR3z2VUfmN {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

代码随想录图论

1. 所有可能的路径 class Solution:def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]:def dfs(graph, result, path, root): #result 返回结果, path记录路径, root记录遍历到了第几个节点if root len(graph) - 1: #如果遍历到最后…

文心一言

文章目录 前言一、首页二、使用总结 前言 今天给大家带来百度的文心一言,它基于百度的文心大模型,是一种全新的生成式人工智能工具。 一、首页 首先要登录才能使用,左侧可以看到以前的聊天历史 3.5的目前免费用,但是4.0的就需要vip了 二、使用 首先在最下方文本框输入你想要搜…

解决cmd输入py文件路径不能执行,使用anaconda prompt 能执行

究其原因&#xff0c;是因为没有配置环境&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 第一步&#xff1a;配置环境变量 操作步骤如下&#xff1a; 1、右击此电脑 ---->属性 2、高级系统设置 3、点击环境变量 4、选择 …

【opencv】示例-imagelist_creator.cpp 从命令行参数中创建一个图像文件列表(yaml格式)...

/* 这个程序可以创建一个命令行参数列表的yaml或xml文件列表 */ // 包含必要的OpenCV头文件 #include "opencv2/core.hpp" #include "opencv2/imgcodecs.hpp" #include "opencv2/highgui.hpp" #include <string> #include <iostream>…

kafka的概念以及Zookeeper集群 + Kafka集群 +elk集群

准备 3 台服务器做 Zookeeper 集群 192.168.68.5 192.168.68.6 192.168.68.7 安装前准备 //关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 0 node1服务器&#xff1a; vim zoo.cfg tickTime2000 #通信心跳时间&#xff0c;Zookeeper服务…

flask毕业设计选题管理系统python+django_96r19

本系统选择编程语言。Pymysql是封装了MySQL驱动的Python驱动一个能使Python连接到MySQL的库。Python语言官方规范访问数据库的统一接口规范(Python DB-API)&#xff0c;防止在使用不同数据库时&#xff0c;由于底层数据库技术不同造成接口程序紊乱的问题。通过本次系统设计可以…