java中List集合及其实现类的方法详解

Java中List集合及其实现类的方法详解

什么是List集合?

List集合是Java中最常用的集合之一,它可以存储有序、可重复的数据。

List实现类

Java中常见的List实现类有3种:

  • ArrayList
  • LinkedList
  • Vector

其中,Vector常用于多线程并发访问的场景中,由于其性能较慢,因此本文不再赘述。下面详细讲解ArrayList和LinkedList的方法及其区别。

ArrayList

常用方法

添加元素

  • add(E e)
  • add(int index, E element)
  • addAll(Collection<? extends E> c)
  • addAll(int index, Collection<? extends E> c)

删除元素

  • remove(int index)
  • remove(Object o)
  • removeIf(Predicate<? super E> filter)
  • removeAll(Collection<?> c)

修改元素

  • set(int index, E element)

获取元素

  • get(int index)
  • subList(int fromIndex, int toIndex)

其他方法

  • clear()
  • size()
  • isEmpty()
  • toArray()
  • contains(Object o)
  • indexOf(Object o)
  • lastIndexOf(Object o)

示例说明

添加元素

List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add(1, "orange");
// list: ["apple", "orange", "banana"]

上述代码中,先新建一个空的ArrayList,然后依次添加"apple"和"banana"两个元素。接着,使用add(int index, E element)方法将"orange"插入到索引为1的位置,也就是原来的"banana"前面。最终得到的list为["apple", "orange", "banana"]。

删除元素

List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
list.remove(1);
// list: [1, 3, 4, 5]
list.removeIf(num -> num % 2 == 0);
// list: [1, 3, 5]

上述代码中,先使用Arrays.asList()方法快速创建一个包含5个元素的ArrayList,然后使用remove(int index)方法删除索引为1的元素2。接着使用removeIf(Predicate<? super E> filter)方法,传入一个Lambda表达式作为参数,对于集合中的每个元素进行判断,判断条件为num % 2 == 0,即判断元素是否为偶数。根据该条件进行删除操作,得到的最终结果为[1, 3, 5]。

LinkedList

常用方法

LinkedList类与ArrayList类的方法类似,但有一些添加和删除头尾元素的方法。

添加元素

  • add(E e)
  • addFirst(E e)
  • addLast(E e)
  • add(int index, E element)
  • addAll(Collection<? extends E> c)
  • addAll(int index, Collection<? extends E> c)

删除元素

  • remove(int index)
  • remove(Object o)
  • removeFirst()
  • removeLast()
  • removeFirstOccurrence(Object o)
  • removeLastOccurrence(Object o)
  • removeIf(Predicate<? super E> filter)
  • removeAll(Collection<?> c)

修改元素

  • set(int index, E element)

获取元素

  • get(int index)
  • getFirst()
  • getLast()
  • subList(int fromIndex, int toIndex)

其他方法

  • clear()
  • size()
  • isEmpty()
  • toArray()
  • contains(Object o)
  • indexOf(Object o)
  • lastIndexOf(Object o)

示例说明

添加元素

LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.addFirst("orange");
// list: ["orange", "apple", "banana"]
list.addLast("pear");
// list: ["orange", "apple", "banana", "pear"]

上述代码中,先新建一个空的LinkedList,然后依次添加"apple"和"banana"两个元素。接着,使用addFirst(E e)方法在链表头部插入"orange"元素。下一行代码使用addLast(E e)方法在链表尾部插入"pear"元素。最终得到的list为["orange", "apple", "banana", "pear"]。

删除元素

LinkedList<Integer> list = new LinkedList<>(Arrays.asList(1, 2, 3, 4, 5));
list.removeFirst();
// list: [2, 3, 4, 5]
list.removeLast();
// list: [2, 3, 4]

上述代码中,先使用Arrays.asList()方法快速创建一个包含5个元素的LinkedList,然后使用removeFirst()方法删除链表头部的元素1。接着使用removeLast()方法删除链表尾部的元素5。最终得到的list为[2, 3, 4]。

总结

List集合是Java中最常用的集合之一,支持有序、可重复的元素。Java中常见的List实现类有ArrayList和LinkedList,分别具有各自的优缺点,在不同的场景下可根据需要进行选择。对于两种List实现类的常用方法,需要充分掌握,以便于在日常开发中更加高效地进行编写。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中List集合及其实现类的方法详解 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 一文带你了解Java中的函数式编程

    一文带你了解Java中的函数式编程 函数式编程是一种以函数为主要构造模块的编程范式,它现在已经在Java语言中越来越流行。在Java 8以后的版本中,引入了一些新的语言特性来支持函数式编程,例如Lambda表达式、Stream API和函数接口等。本文将带你深入了解Java中的函数式编程。 Lambda表达式 Lambda表达式是Java 8中最重要的新特性…

    Java 2023年5月23日
    00
  • 详解Java的MyBatis框架中的事务处理

    详解Java的MyBatis框架中的事务处理 什么是MyBatis MyBatis是一个优秀的持久层框架,它对jdbc的操作进行了封装,使我们能够以xml或注解的方式来实现对数据库的CRUD操作,同时它也提供了对事务的支持。 什么是事务 事务是一组操作单元,这些单元要么全部成功执行,要么全部回滚执行。通常情况下,一个事务涉及到一系列对数据的读/写操作,并且这…

    Java 2023年5月20日
    00
  • SpringBoot利用jackson格式化时间的三种方法

    下面是SpringBoot利用jackson格式化时间的三种方法完整攻略: 1. 使用@JsonFormat注解 使用@JsonFormat注解是SpringBoot格式化时间最简单的方法之一,只需要在实体类的时间字段上加上该注解,指定格式即可。 示例: 假设我们有一个用户实体类,其中有一个创建时间字段: public class User { privat…

    Java 2023年5月20日
    00
  • 浅谈在页面中获取到ModelAndView绑定的值方法

    获取ModelAndView中绑定的值是很常见的操作,在MVC框架中,ModelAndView作为控制器处理请求后返回给视图的结果,其包含有业务逻辑处理的结果、响应状态和视图(jsp、html等)等信息。下面是获取ModelAndView中绑定的值的几种方法: 方法一:使用EL表达式(${})获取 EL表达式是JavaEE提供的一种表达式语言,可以在JSP或…

    Java 2023年6月15日
    00
  • JVM的常用命令汇总

    JVM的常用命令汇总 Java虚拟机(JVM)是Java语言的编译器和解释器。通过JVM,Java代码可以在不同的平台上运行,而不需要为每个平台编写不同的代码。在JVM中,有许多命令可以使用,本文将对常用命令进行介绍。 管理界面 jconsole jconsole命令可以启动一个Java监视和管理控制台,并与正在运行的Java程序进行交互。使用jconsol…

    Java 2023年5月26日
    00
  • Java中获取当前路径的几种方法总结

    Java中获取当前路径的几种方法总结 有时候需要获取Java应用程序所在的路径或者当前工作目录的路径,在Java中有多种方法可以实现这个功能。本文将总结Java中获取当前路径的几种方法,以供参考。 方法一:使用System.getProperty() 可以使用System类提供的getProperty()方法获取当前工作目录的路径。具体代码如下: Strin…

    Java 2023年6月15日
    00
  • SpringBoot + Spring Security 基本使用及个性化登录配置详解

    SpringBoot+SpringSecurity基本使用 1. 引入Spring Security 在pom.xml中添加Spring Security的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin…

    Java 2023年5月15日
    00
  • maven install报错中程序包xxx不存在的问题解决

    这里是“maven install报错中程序包xxx不存在的问题解决”的完整攻略。 问题描述 在使用Maven构建项目时,有时候会遇到类似如下错误信息: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-co…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部