java - java中的静态数组和循环
问题描述
我有一个静态数组,它是:String[] tab = {"Eva", "Ali", "David", "Maxime"};
如果名称大于 4 个字符,我必须将项目放在另一个数组中。我知道如何使用数组列表来做到这一点,但我想尝试使用静态数组。
这是我的代码的一个想法,但我陷入了循环。
class Main {
public static void main(String[] args) {
String[] tab = {"Eva", "Ali", "David", "Maxime"};
for (String elt : tab) {
if (elt.length() > 4) {
// ????
}
}
}
}
谢谢您的帮助。
解决方案
不可能创建一个开放大小的数组,您必须定义数组中可以包含的元素数量,但是如果您使用的是 Java8,则可以像这样使用流:
String[] result = Arrays.stream(tab)
.filter(elt -> elt.length() > 4)
.toArray(String[]::new);
像这样你不需要在填充它之前定义结果数组,你甚至不需要大小。
推荐阅读
- c# - C#:Math Round() 为不同的小数产生不同的值
- python - 使用预先确定的主题分布初始化 Gensim LDA 模型
- python - 将复选框存储到列表 tkinter
- firebase - 如何通过应用引擎监控firestore并同时执行多个游戏?
- command-line-interface - 如何使用 go lang 模板选项过滤 openshift pod?
- authentication - 为什么 Google Cloud Translate 无法提供持久性 503 服务?
- azure-data-factory-2 - Azure 数据工厂从 URL 保存 CSV
- amazon-web-services - 从另一个 AWS 账户访问 S3 Inventory
- python - 使用 importlib 加载模块时如何允许相对导入
- r - 导入未按逻辑方式排序的数据