当前位置: 首页 > news >正文

字符串的六种遍历方式

在 Java 中,有多种遍历字符串的方法。以下是几种常见的遍历字符串的方法,并附有示例代码

1. 使用 for 循环

这是最常见和基础的遍历方法,通过索引访问每个字符。

public class StringTraversal {public static void main(String[] args) {String str = "Hello World";// 使用 for 循环System.out.println("Using for loop:");for (int i = 0; i < str.length(); i++) {char ch = str.charAt(i);System.out.println(ch);}

2. 使用增强型 for 循环

通过将字符串转换为字符数组,然后使用增强型 for 循环遍历。

        // 使用增强型 for 循环System.out.println("Using enhanced for loop:");for (char ch : str.toCharArray()) {System.out.println(ch);}

3. 使用 while 循环

通过索引和 while 循环遍历字符串。

        // 使用 while 循环System.out.println("Using while loop:");int i = 0;while (i < str.length()) {char ch = str.charAt(i);System.out.println(ch);i++;}

4. 使用 split 方法

基于分隔符分割字符串,按单词遍历。

        // 使用 split 方法System.out.println("Using split method:");String[] tokens = str.split(" ");for (String token : tokens) {System.out.println(token);}

5. 使用 Stream API

通过 Java 8 引入的 Stream API 可以方便地进行各种操作,包括遍历字符串。

        // 使用 Stream APISystem.out.println("Using Stream API:");//str.chars(),返回一个 IntStream,其中包含字符串 str 中每个字符的 Unicode 代码点。IntStream stream = str.chars();stream.forEach(ch -> System.out.println((char) ch));

6. 使用迭代器(Iterable 接口)

虽然字符串本身不是直接 Iterable 的,但可以通过一些转换方式来实现迭代。

public class Main {public static void main(String[] args) {String str = "Hello World";Iterable<Character> iterable = () -> str.chars().mapToObj(c -> (char)c).iterator();for (char ch : iterable) {System.out.println(ch);}}
}

http://www.lryc.cn/news/385618.html

相关文章:

  • 在码云(Gitee)上建立分支(Branch)的步骤如下:
  • JVM专题四:JVM的类加载机制
  • Python爬取中国天气网天气数据.
  • EXCEL快速填充空白内容
  • CBSD创建和管理bhyve容器Ubuntu@FreeBSD
  • STM32开发实战:SPI接口在W25Q64 Flash存储器中的应用
  • python一些进阶用法:hook 钩子函数以及Registry机制
  • 工作实践:11种API性能优化方法
  • 正版软件 | WIFbox:智能化文件管理工具,让效率与隐私并行
  • Postman接口工具实战
  • 江协科技51单片机学习- p17 定时器
  • 【D3.js in Action 3 精译】前言
  • Java SE入门及基础(58) 并发 进程与线程概念
  • 放松一下,简简单单了
  • 【智能制造-5】数采和电机
  • 【软考论文】论信息系统的安全性与保密性设计
  • 【图文教程】电脑查看显卡GPU温度方法:小白也能秒懂!
  • Qt的智能终端项目文档完整版
  • SQL面试题练习 —— 查询最近一笔有效订单
  • 分享HTML显示2D/3D粒子时钟
  • Java——IDEA使用
  • 高性能STL库 EASTL 、高性能JSON库
  • 多通道采集器采样接口设计[进行中...]
  • rapidjson使用中crash问题分析
  • TCP协议中的三次握手和四次挥手机制
  • Linux双网卡默认路由的metric设置不正确,导致SSH连接失败问题定位
  • Batch入门学习:从零开始掌握批处理脚本
  • diffusion model(十八):diffusion model中negative prompt的工作机制
  • Python | Leetcode Python题解之第200题岛屿数量
  • 利用圆上两点和圆半径求解圆心坐标