iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java 数组迭代你会用吗
  • 396
分享到

Java 数组迭代你会用吗

2024-04-02 19:04:59 396人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录1、概述2、通过循环进行数组迭代3、jdk 8 之前使用老方式进行数组迭代4、使用 Java 8 Stream 进行数组迭代5、字符串的应用6、总结Java 数组是我们学习或工作

Java 数组是我们学习或工作中常用到的数据结构,我们会经常写数组迭代的代码,但你的代码是最优雅的么?

本文介绍三种数组迭代的方式以及最佳实践。

1、概述

首先我们通过遍历数组值的基本方法,来迭代数组。其次我们用 Java 比较古老的方法实现,最后我们再使用 Java 8 的 Stream api 将数组转成迭代器。

除此之外,我们可以把这个技巧应用在字符串的处理上。

2、通过循环进行数组迭代

通过循环在数组上建立迭代逻辑,根据索引从数组中获取相应的值。

代码:


package cn.java4u.codebase.array.iterator;


public class ArrayIterate {

    public static void main(String[] args) {

        // string array
        String[] names = new String[] {"john", "Amal", "Paul"};

        // iterating array over its values.
        for(int index=0; index< names.length ; index++) {
            System.out.println(names[index]);
        }
    }
}

输出:
john
Amal
Paul

3、JDK 8 之前使用老方式进行数组迭代

JDK 8 之前,在数组转列表的时候,按照老方式我们通常使用  Arrays.asList() 方法先得到一个 list,然后使用 list.iterator() 方法得到一个迭代器,最后遍历迭代器里所有的值。


package cn.java4u.codebase.array.iterator;

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;


public class JavaArrayToIterableExample {

    public static void main(String[] args) {

        // string array
        String[] names = new String[]{"john", "Amal", "Paul"};

        // string array to list conversion
        List<String> namesList = Arrays.asList(names);

        // List to iterable
        Iterator<String> it = namesList.iterator();

        // printing each value from iterator.
        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }
}

输出:
john
Amal
Paul

4、使用 Java 8 Stream 进行数组迭代

上一小节中,我们是通过  Arrays.asList() 把数组转成列表,现在我们使用 Java 8 Stream API 也可以做到,只需要用 Arrays.stream() 替换就行,它接收数组并返回数组类型的数据流。
stream() 方法可以把数组转换为 Stream 对象,在较大的数组上使用并行执行能力,然后需要调用 Stream 对象上的 iterator() 方法将 Stream 转换为 Iterator。

参考代码如下:


package cn.java4u.codebase.array.iterator;

import java.util.Arrays;
import java.util.Iterator;
import java.util.stream.Stream;


public class JavaArrayToIterableExampleJava8 {

    public static void main(String[] args) {

        // string array
        String[] names = new String[] {"john", "Amal", "Paul"};

        System.out.println("多行打印的解决方案");
        // Convert string array to Stream<String>
        Stream<String> namesList = Arrays.stream(names);

        // Stream to iterable
        Iterator<String> it = namesList.iterator();

        // printing each value from iterator.
        while(it.hasNext()) {
            System.out.println(it.next());
        }

        // singel line
        System.out.println("\n单行打印的解决方案");
        Arrays.stream(names).iterator().forEachRemaining(name -> System.out.println(name));
    }
}

多行和单行解决方案提供了相同的输出。如果你打算在实际项目中使用,最好用单行语句,因为这显得更像专家,并且利用了 Stream 的优势!

多行打印的解决方案
john
Amal
Paul

单行打印的解决方案
john
Amal
Paul

5、字符串的应用

如果你理解了上边的内容,那么在字符串上应用迭代能力就很简单了。
比如我们有个字符串,用空格分隔了不同的内容,假设是:1 2 3 4 5 6,我们需要把每个内容分别打印出来,此时就可以应用 Java 8 Stream 来进行迭代处理。


package cn.java4u.codebase.array.iterator;

import java.util.Arrays;
import java.util.Iterator;
import java.util.stream.Stream;


public class JavaStringToIterableCase {
    public static void main(String[] args) {

        // string
        String numbers = "1 2 3 4 5 6";

        // string to string array
        String[] numbersArray = numbers.split(" ");

        System.out.println("多行打印的解决方案");
        // Convert string array to Stream<String>
        Stream<String> numbersList = Arrays.stream(numbersArray);

        // Stream to iterable
        Iterator<String> it = numbersList.iterator();

        // printing each value from iterator.
        while(it.hasNext()) {
            System.out.println(it.next());
        }

        // singel line
        System.out.println("\n单行打印的解决方案");
        Arrays.stream(numbersArray).iterator().forEachRemaining(name -> System.out.println(name));
    }
}

输出:
多行打印的解决方案
1
2
3
4
5
6

单行打印的解决方案
1
2
3
4
5
6

6、总结

本文介绍了如何对数组做迭代的三种方法,分别是循环方式、集合迭代器方式以及流迭代器方式,最后把流迭代器方式应用在了字符串的处理上。

到此这篇关于Java 数组迭代你会用吗的文章就介绍到这了,更多相关Java 数组迭代内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java 数组迭代你会用吗

本文链接: https://www.lsjlt.com/news/136384.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java 数组迭代你会用吗
    目录1、概述2、通过循环进行数组迭代3、JDK 8 之前使用老方式进行数组迭代4、使用 Java 8 Stream 进行数组迭代5、字符串的应用6、总结Java 数组是我们学习或工作...
    99+
    2022-11-12
  • 怎么在java中访问和迭代数组
    这期内容当中小编将会给大家带来有关怎么在java中访问和迭代数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了...
    99+
    2023-06-14
  • 你会使用Go语言在NumPy数组的开发技术吗?
    当我们谈到数据处理和科学计算时,NumPy是一个不可或缺的工具。它是Python中最流行的科学计算库之一,能够提供高效的多维数组操作和数学函数。然而,Python并不是唯一的语言,也不是唯一的工具。Go语言的出现让我们有了一种新的选择,同时...
    99+
    2023-06-17
    numpy 数组 开发技术
  • 你真的会使用Java的方法引用吗
    目录前言方法引用是什么?方法引用与Lambda表达式方法引用的使用静态方法引用实例方法引用对象方法引用构建方法引用总结前言 Java 8由Oracle公司于2014年3月18日发布...
    99+
    2022-11-12
  • 你会使用 Go 索引 Spring 函数吗?
    Go 语言是一种高效的编程语言,广泛应用于云计算、网络编程、分布式系统等领域。而 Spring 是一个流行的 Java 开发框架,用于构建 Web 应用程序和企业级应用程序。在这篇文章中,我们将介绍如何使用 Go 索引 Spring 函数。...
    99+
    2023-10-11
    索引 spring 函数
  • Java中你真的会用Constructor构造器吗之看完本篇你就真的会了
    引言 相信大家对于java里的构造器应该都是有了解的,这次我们来了解一些构造器的不同使用方式,了解构造器的调用顺序,最后可以灵活的在各种情况下定义使用构造器,进一步优化我们的代码; ...
    99+
    2022-11-12
  • 数组迭代reduce和reduceRight方法怎么用
    本文小编为大家详细介绍“数组迭代reduce和reduceRight方法怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“数组迭代reduce和reduceRight方法怎么用”文章能帮助大家解决疑惑,...
    99+
    2022-10-19
  • Java 数组编程算法,你真的掌握了吗?
    Java 数组是一种非常重要的数据结构,它可以在程序中存储和操作一系列相同类型的数据。然而,Java 数组编程算法并不是所有程序员都能够完全掌握的。在本文中,我们将探讨几个常见的 Java 数组编程算法,并提供一些示例代码来帮助你更好地理...
    99+
    2023-10-13
    数组 编程算法 学习笔记
  • 你知道Java数组在Django中如何处理吗?
    Java数组在Django中的处理方式 Java和Django都是非常流行的编程语言和框架,它们都有着广泛的应用和强大的功能。但是,在Java中使用数组和在Django中使用数组是不同的,因为它们在处理方式上有所差异。在本文中,我们将深入探...
    99+
    2023-10-03
    数组 linux django
  • 你知道吗?Java 接口可以用于处理数组响应!
    Java 是一门广泛使用的编程语言,其强大的面向对象编程特性让其在开发中得到广泛应用。其中,接口是 Java 面向对象编程中非常重要的一个概念,它可以让代码更加模块化、可扩展和易维护。除此之外,Java 接口还可以用于处理数组响应,今天我们...
    99+
    2023-06-14
    接口 数组 响应
  • 你需要学习 Java 和 Unix 中的数组操作吗?
    当今时代,计算机科学和软件开发变得越来越重要。学习编程和掌握编程语言已经成为了一个必备的技能。在编程的过程中,数组是一个非常重要的数据结构。在本文中,我们将探讨为什么需要学习 Java 和 Unix 中的数组操作,并提供一些代码示例。 首先...
    99+
    2023-10-06
    unix 数组 numpy
  • 你知道Java IDE中如何优化数组操作吗?
    Java作为一种广泛使用的编程语言,数组是程序中常见的数据结构之一。在Java IDE中,优化数组操作可以提高程序的性能和效率,使程序更加稳定和可靠。本文将介绍一些优化数组操作的方法和技巧,帮助Java开发者更好地使用数组。 一、使用增强f...
    99+
    2023-09-19
    ide 数组 npm
  • 大数据处理的 Python 库 numpy 和 http,你会用吗?
    Python 作为一种高级编程语言,可以轻松地处理大数据集。但是,如果你想更快地处理大数据集,那么你就需要使用一些专门的工具。Python 的 numpy 库和 http 库就是这样的工具。接下来,我们将详细介绍这两个库的功能及其使用方法...
    99+
    2023-08-16
    大数据 numpy http
  • Javascript数组常用方法你都知道吗
    我用这些方法主要从五个方面去学习。 1.方法是干什么的。 2.谁能用 (当然是数组啦)。 3.有没有返回值,返回值是什么。 4.修不修改原来的对象。 5.如何使用。 接下来就是干货了...
    99+
    2022-11-13
  • 你知道如何在Linux上使用Java数组进行数据分析吗?
    当今时代,数据分析已经成为了不可或缺的一部分。而在Linux系统中,Java数组是进行数据分析的重要工具之一。本文将为您介绍如何在Linux上使用Java数组进行数据分析。 一、Java数组简介 Java数组是一种基本的数据结构,它是一组同...
    99+
    2023-10-03
    数组 linux django
  • 数组是Java中最常用的数据结构,你真的掌握了吗?
    数组是Java中最常用的数据结构,它是一种线性数据结构,可以存储相同数据类型的元素。数组可以帮助我们更好地组织和管理数据,但是你真的掌握了吗?在本文中,我们将深入讨论Java中的数组。 数组的定义和声明 在Java中,数组是一个对象,它可以...
    99+
    2023-07-09
    关键字 数组 开发技术
  • 怎么用JavaScript数组迭代方法对每个数组项进行操作
    这篇文章主要讲解了“怎么用JavaScript数组迭代方法对每个数组项进行操作”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用JavaScript数组迭...
    99+
    2022-10-19
  • JS中数组常用的循环遍历你会几种
    前言 数组和对象作为一个最基础数据结构,在各种编程语言中都充当着至关重要的角色,你很难想象没有数组和对象的编程语言会是什么模样,特别是 JS ,弱类型语言,非常灵活。本文带你了解常...
    99+
    2022-11-12
  • 关于PHP数组迭代器的使用方法实例
    近来在开发一个视力筛查电子报告系统的产品,这个产品的作用是自动提取视力筛查过程中得到的屈光检查数据,并结合数据自动生成通俗易懂且专业的电子报告,以方便家长可以通过公众号或H5链接查阅。 要实现这个需求,第一步是对验光设备里打印出来的纸质报告...
    99+
    2015-05-29
    php数组迭代器 如何实现迭代器 数组迭代方法
  • 你知道如何在 Go 中使用数组吗?
    当我们编写程序时,经常需要使用到数组。在 Go 语言中,数组是一种简单而强大的数据结构,它可以存储一组相同类型的数据。在本文中,我们将探讨如何在 Go 中使用数组。 声明数组 在 Go 中,声明数组的语法如下: var a [5]int...
    99+
    2023-08-18
    开发技术 数组 关键字
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作