news 2026/6/10 12:14:33

开口闭口都是高并发、高可用,可是连个for循环都写不利索,也是醉了

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
开口闭口都是高并发、高可用,可是连个for循环都写不利索,也是醉了

有很多程序员,喜欢把高并发、高可用这样的名词挂在嘴边,似乎是,如果不这样,就显得自己没水平,跟不上时代。然而,对于一些基础知识却并不熟练。俗话说,基础不牢,地动山摇。只有掌握了这些基础性东西,才有可能建造起一座真正的“高并发、高可用”的大厦。

对于for循环,Java程序员可能再熟悉不过了。在使用过程中,有一种很常见的场景,就是满足条件之后就退出循环。这样的功能实现起来倒不难,使用break关键字即可搞定,像下面这样:

package com.sample.interview.core.foundation; import java.util.Arrays; import java.util.List; publicclass ForExample { public static void main(String[] args) { List<String> list = Arrays.asList("Tom", "John", "Jack"); for (String str: list){ System.out.println(str); if(str.equals("John")){ break; } } System.out.println("程序运行结束!"); } }

上面的程序初始化一个列表,里面包含三个字符串,程序需要实现的功能:遍历这个数组,打印其中的字符串,直到John就退出循环。

实现方法很简单,使用for-each遍历,打印列表中的元素,如果元素的内容为John,则break,它让循环中止,最后一个元素Jack就不会打印出来了。

然而,如果是两重循环,直接使用break有时候可能达不到想要的效果。比如要实现这样的功能:遍历列表中的元素并且打印出来,直到满足以下条件就不再遍历:该字符串包含字符o。

我们假定使用二重循环来实现(当然可能也会有其他更好的办法):

package com.sample.interview.core.foundation; import java.util.Arrays; import java.util.List; publicclass ForExample { public static void main(String[] args) { List<String> list = Arrays.asList("Tom", "John", "Jack"); for (String str: list){ System.out.println(str); char[] chars = str.toCharArray(); for (char c: chars){ if(c=='o'){ break; } } } System.out.println("程序运行结束!"); } }

上面程序的实现方式也很简单,首先遍历字符串,然后把字符串转成字符数组,并且遍历这个字符数组,如果字符等于o,那么直接退出循环,我们看看运行结果:

Tom John Jack 程序运行结束!

第一个元素Tom这个字符串包含字符o,正常情况下,遍历到这个字符串以后就应该退出整个循环,不应该再把John和Jack打印出来,但上面这个程序却把所有元素都打印出来了。

这是因为break只是退出当前循环,然而,想要退出整个循环,还得使用其他的方法。

那么,要实现上述的功能,应该怎么做呢?请留言打出你的答案!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 12:39:49

Open-AutoGLM任务中断恢复陷阱:80%用户踩过的3个坑及规避方案

第一章&#xff1a;Open-AutoGLM 任务中断恢复机制在分布式训练和大规模语言模型推理场景中&#xff0c;任务中断是常见问题。Open-AutoGLM 引入了一套稳健的任务中断恢复机制&#xff0c;确保长时间运行的模型训练或推理任务在遭遇系统崩溃、网络异常或资源抢占时能够从中断点…

作者头像 李华
网站建设 2026/6/10 10:16:24

Sourcetrail索引错误深度解析与高阶修复方法论

Sourcetrail索引错误深度解析与高阶修复方法论 【免费下载链接】Sourcetrail Sourcetrail - free and open-source interactive source explorer 项目地址: https://gitcode.com/GitHub_Trending/so/Sourcetrail 在代码探索工具的技术演进中&#xff0c;Sourcetrail代表…

作者头像 李华
网站建设 2026/6/9 20:50:35

LeetCode热题100--763. 划分字母区间--中等

题目 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。例如&#xff0c;字符串 “ababcc” 能够被分为 [“abab”, “cc”]&#xff0c;但类似 [“aba”, “bcc”] 或 [“ab”, “ab”, “cc”] 的划分是非法的。 注意…

作者头像 李华
网站建设 2026/6/10 2:50:24

模型下载慢影响项目进度?Open-AutoGLM三大加速策略立即生效

第一章&#xff1a;模型下载慢影响项目进度的根源分析在深度学习和人工智能项目的开发过程中&#xff0c;模型下载是构建可复现系统的关键前置步骤。然而&#xff0c;许多团队频繁遭遇模型下载速度缓慢的问题&#xff0c;直接导致训练任务延迟、CI/CD 流水线阻塞&#xff0c;甚…

作者头像 李华
网站建设 2026/5/30 15:45:41

leetcode 2092(排序+bfs)

2092: 找出知晓秘密的所有专家思路&#xff1a;排序bfs广度优先搜索假设一开始 0 和 1 知道秘密。对比如下两种情况&#xff1a;时间 1&#xff0c;1 和 2 开会。时间 2&#xff0c;2 和 3 开会。秘密会传播给 2 和 3&#xff0c;最终 0,1,2,3 都知道秘密。时间 1&#xff0c;2…

作者头像 李华
网站建设 2026/6/10 10:30:05

30分钟极速入门:LanceDB Java客户端实战指南

30分钟极速入门&#xff1a;LanceDB Java客户端实战指南 【免费下载链接】lancedb Developer-friendly, serverless vector database for AI applications. Easily add long-term memory to your LLM apps! 项目地址: https://gitcode.com/gh_mirrors/la/lancedb LanceD…

作者头像 李华