迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

Java 数组索引

作者:迹忆客 最近更新:2023/09/17 浏览次数:

本文介绍了如何在 Java 中使用不同的技术获取数组的索引。


在 Java 中获取一个整数类型数组中元素的索引

在 Java 中,数组没有 indexOf() 方法,但 ArrayList 自带这个方法,可以返回指定元素的索引。为了访问 indexOf() 函数,我们首先创建一个 Integer 的数组,然后使用 Arrays.asList() 将其转换为一个列表。

请注意,我们使用的是封装类 Integer 而不是基元 int,因为 asList() 只接受封装类,但它们确实将结果作为基元数据类型返回。我们可以参考下面的例子,在这个例子中,我们向 indexOf() 方法指定元素,即 8,以获得它的索引。我们从 getIndex 得到的结果是 int 类型。

import java.util.Arrays;

public class ArrayIndexOf {
    public static void main(String[] args) {
        Integer[] array1 = {2, 4, 6, 8, 10};

        int getIndex = Arrays.asList(array1).indexOf(8);

        System.out.println("8 is located at "+getIndex+" index");
    }
}

输出:

8 is located at 3 index

在 Java 中使用 Java 8 Stream API 获取一个数组元素的索引

我们可以使用 Stream API 来筛选出数组项,并获取指定元素的位置。IntStream 是一个接口,它允许一个原始 int 使用 filterrange 等流函数。

range()IntStream 的一个方法,它返回从起始位置到数组结束的元素。现在我们使用 filter(),它接受一个谓词作为参数。我们使用 i -> elementToFind == array1[i] 作为谓词,其中 i 是来自 range() 的值,elementToFind == array1[i] 是检查 elementToFind 是否与 array1 的当前元素匹配的条件。

findFirst() 返回第一个元素,如果条件失败,orElse() 返回-1。

import java.util.stream.IntStream;

public class ArrayIndexOf {
    public static void main(String[] args) {
        int[] array1 = {1, 3, 5, 7, 9};

        int elementToFind = 3;

        int indexOfElement = IntStream.range(0, array1.length).
                filter(i -> elementToFind == array1[i]).
                findFirst().orElse(-1);

        System.out.println("Index of " + elementToFind + " is " + indexOfElement);

    }
}

输出:

Index of 3 is 1

在 Java 中使用 ArrayUtils.indexOf() 获取一个数组元素的索引

这个例子使用了 Apache Commons 库中的 ArrayUtls 类。我们使用下面的依赖关系来导入库函数到我们的项目中。

  <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.11</version>
  </dependency>

我们使用 ArrayUtils 类的 indexOf() 函数来查找数组的索引。indexOf() 接受两个参数,第一个参数是数组,第二个参数是我们要查找索引的元素。

import org.apache.commons.lang3.ArrayUtils;

public class ArrayIndexOf {
    public static void main(String[] args) {
        int[] array1 = {1, 3, 5, 7, 9};

        int elementToFind = 9;

        int indexOfElement = ArrayUtils.indexOf(array1, elementToFind);
        System.out.println("Index of " + elementToFind + " is " + indexOfElement);

    }
}

输出:

Index of 9 is 4

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Java 中延迟几秒钟的时间

发布时间:2023/12/17 浏览次数:217 分类:Java

本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。

如何在 Java 中把 Hashmap 转换为 JSON 对象

发布时间:2023/12/17 浏览次数:187 分类:Java

它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。

如何在 Java 中按值排序 Map

发布时间:2023/12/17 浏览次数:171 分类:Java

本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map 进行排序,并列出了一些示例代码来理解它。

如何在 Java 中打印 HashMap

发布时间:2023/12/17 浏览次数:192 分类:Java

本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。

在 Java 中更新 Hashmap 的值

发布时间:2023/12/17 浏览次数:146 分类:Java

本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。

Java 中的 hashmap 和 map 之间的区别

发布时间:2023/12/17 浏览次数:79 分类:Java

本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,

在 Java 中获取用户主目录

发布时间:2023/12/17 浏览次数:218 分类:Java

这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。

Java 中 size 和 length 的区别

发布时间:2023/12/17 浏览次数:179 分类:Java

这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。

Java 中的互斥锁

发布时间:2023/12/17 浏览次数:111 分类:Java

了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便