【问题标题】:How to compare the List values with index values of another list in java 8?如何将列表值与 java 8 中另一个列表的索引值进行比较?
【发布时间】:2019-09-23 13:26:23
【问题描述】:

我需要使用 Java 8 根据 list1 的索引与 list2 的值比较两个列表(list1list2)。我尝试了下面的 for 循环。这是工作。但我需要一些使用 Java 8 的高效工具。

List<String> list1= new ArrayList<String>();
list1.add("A");
list1.add("B");
list1.add("C");
list1.add("D");
list1.add("E");
list1.add("F");

List<Integer> list2= new ArrayList<Integer>();
list2.add(0);
list2.add(5);

  for(int i = 0; i < list1.size();i++)
  {
     for(int j = 0 ; j < list2.size(); j++)
      {
          if(i == list2.get(j)) 
          {
              System.out.println(list1.get(i));
          }
      }
  }

【问题讨论】:

    标签: java list indexing


    【解决方案1】:

    看起来你只有 list2 上的索引。我想知道为什么两个列表都需要迭代器。为什么不对索引 list2 进行迭代并在 list1 上执行 get()

    list2.stream().filter(i -> i < list1.size()).forEach(i -> System.out.println(list1.get(i)));
    

    【讨论】:

    • 也许可以按排序顺序迭代list2,以确保元素以正确的顺序出现。
    猜你喜欢
    • 1970-01-01
    • 2021-03-06
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多