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

简介: 【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 接口。

相关文章
|
8天前
|
Java Linux
java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
本文介绍了如何在安装JDK后使用`javac.exe`编译Java文件,以及使用`java.exe`运行编译好的类文件。涵盖了JDK的安装、环境变量配置、编写Java程序、使用命令行编译和运行程序的步骤,并提供了解决中文乱码的方法。
24 1
|
2月前
|
Java 测试技术 数据处理
Java零基础教学(17):Java运算符详解
【8月更文挑战第17天】Java零基础教学篇,手把手实践教学!
45 4
|
19天前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
174 37
|
19天前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
19天前
|
缓存 安全 Java
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
Java的特点和优点,、Java 8的新特性、面向对象、基本数据类型和引用类型、自动拆装箱与自动装箱、==与equals()的区别、为什么重写equals()就要重写hashcode()、抽象类和接口的区别、重载和重写的区别、四种引用方式、wt()和sleep()的区别、java方法是值传递还是引用传递?访问修饰符、static、final、this和super、volatile的用法及原理
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
|
2月前
|
Java
用JAVA架建List集合为树形结构的代码方法
这段代码定义了一个表示树形结构的 `Node` 类和一个用于构建树形结构的 `TreeController`。`Node` 类包含基本属性如 `id`、`pid`、`name` 和 `type`,以及子节点列表 `children`。`TreeController` 包含初始化节点列表并将其转换为树形结构的方法。通过过滤和分组操作实现树形结构的构建。详情可见:[代码示例链接1](http://www.zidongmutanji.com/zsjx/43551.html),[代码效果参考链接2](https://www.257342.com/sitemap/post.html)。
31 5
|
1月前
|
Java API 开发者
代码小妙招:用Java轻松获取List交集数据
在Java中获取两个 `List`的交集可以通过 `retainAll`方法和Java 8引入的流操作来实现。使用 `retainAll`方法更为直接,但会修改原始 `List`的内容。而使用流则提供了不修改原始 `List`、更为灵活的处理方式。开发者可以根据具体的需求和场景,选择最适合的方法来实现。了解和掌握这些方法,能够帮助开发者在实际开发中更高效地处理集合相关的问题。
28 1
|
1月前
|
存储 Java 测试技术
Java零基础教学(10):包装类
【9月更文挑战第1天】Java零基础教学篇,手把手实践教学!
21 1
|
2月前
|
存储 Java API
【Java高手必备】揭秘!如何优雅地对List进行排序?掌握这几种技巧,让你的代码瞬间高大上!
【8月更文挑战第23天】本文深入探讨了Java中对List集合进行排序的各种方法,包括使用Collections.sort()、自定义Comparator以及Java 8的Stream API。通过示例代码展示了不同情况下如何选择合适的方法:从简单的整数排序到自定义类对象的排序,再到利用Comparator指定特殊排序规则,最后介绍了Stream API在排序操作中的简洁应用。理解这些技术的区别与应用场景有助于提高编程效率。
22 4
|
2月前
|
存储 安全 Java
java基础Java的Deque之Deque、BlockingDeque、LinkedBlockingDeque、ArrayDeque
在实际编程中,合理利用Java的Deque和它的具体实现,可以在不同的应用场景中发挥高效和线程安全的队列管理功能。通过了解和比较Deque的不同实现,可以根据应用需求做出适当的技术选型,以支持高效且健壮的应用架构。
14 0
下一篇
无影云桌面