当前位置: 首页 > 知识库问答 >
问题:

迭代数组的非空元素[重复]

山高峰
2023-03-14

我在Java中有一个带有几个元素的Array,我正在做的是迭代并显示Array中与null不同的所有元素

这是演示

public class TestData {

    public static void main(String[] args) {

        String firstArg[] = new String[5];
        firstArg[2] = "arg2";
        firstArg[4] = "arg4";
        
        for (String a: firstArg) {
            if (a != null) {
                System.out.println(a);
            }            
        }
    }    
}

我的问题:是否可以在一行中迭代null以外的元素?

共有2个答案

单展
2023-03-14

首先可以从数组中删除所有空值:

Yourlist.removeAll(Collections.singleton(null));

然后迭代

林运浩
2023-03-14
public class TestData {
  public static void main(String[] args) {
    String firstArg[] = new String[5];
    firstArg[2] = "arg2";
    firstArg[4] = "arg4";
    
    Stream.of(firstArg)
      .filter(Objects::nonNull)
      .forEach(System.out::println);
  }    
}

而不是。过滤器(Objects::nonNull)您可以使用。过滤器-

如果你想做的不仅仅是打印,你可以使用

  .forEach(s->{
    // Do something more with 's'
    System.out.println(s.toUpperCase());
  });

另请参见在Java8中使用lambda仅当不为null时过滤值

 类似资料:
  • 问题内容: 我被困在以下程序中: 我有一个输入整数数组,其中只有一个非重复数,例如{1,1,3,2,3}。输出应显示非重复元素,即2。 到目前为止,我执行了以下操作: 最好限制阵列中的解决方案。避免使用集合,地图。 问题答案: 由于几乎可以肯定这是一种学习练习,并且由于您非常接近正确完成它,因此需要进行以下更改才能使其正常工作: 将声明 __移到 外部循环 内部 -需要将标志设置为外部循环的每次迭

  • 这是我的代码片段 在这个数组代码中,我必须打印非重复的整数值 说数组值是:-[1,1,2,3,1,2,4,5]答案应该是:-[3,4,5]即我必须打印的非重复整数值。有人能帮我解决这个问题吗

  • 主要内容:JavaTuples 元组迭代的介绍,JavaTuples 元组迭代的示例JavaTuples 元组迭代的介绍 每个元组都实现了 Iterable 接口,并且可以以与集合类似的方式进行迭代。 JavaTuples 元组迭代的示例 在这里,我们将看到如何迭代元组。 输出结果为:

  • 我需要迭代两个元素的所有组合:在集合[1,2,3,4]中,我想迭代[(1,2),(1,3),(1.4),(2,3),,(2,4),(3,4)]。是否有现有的工具可以执行此操作? 这段代码将执行两倍于所需的操作,因为在两个循环中都将访问每个对象。 为此编写自己的方法是微不足道的,我只是不想发明轮子。我期望在Guava或Collections API中找到这个,但是没有找到这样的功能。

  • 问题内容: 根据用户提交的内容,数组中的某些元素是空字符串。我需要删除那些元素。我有这个: 但这是行不通的。仍然有空元素。我也尝试过使用该功能,但是结果是一样的。 问题答案: 在处理字符串数组时,您可以简单地使用,它可以方便地为您处理所有这一切: 请记住, 如果未提供回调 ,则将删除所有等于(请参见转换为boolean)数组的条目。因此,如果您需要保留元素,即确切的string ,则需要一个自定义

  • 如何在Java中复制数组的元素,并按原始数组的相同顺序将它们添加到新数组中 请解释为什么上面的代码不起作用。 我的输出是 : // [4, 4, 代替: