有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用Java实现排队

假设我有一段代码,其中Element是一个类:

import java.util.*;
import java.io.*;

public class HelloWorld
{
  public static void main(String[] args)
  {
    Deque<Element> list = new LinkedList<Element>();
    Element ele3 = new Element();
    ele3.x = 3;
    ele3.y = 3;
    q.add(ele3);
  }
}

class Element {
  public int x;
  public int y;
  public String moves;
}

假设在我的程序运行期间,我遇到了一个x=3和y=3的元素,它的Element.moves比队列中的前一个更好。我想从队列中删除最后一个,然后添加这个。要做到这一点,我可以使用出列的方法removeFirstOccurrence。既然我不知道最后一个对象(x=y=3)的名称,我怎么能只知道对象的x和y就应用这个方法呢

我认为的另一个解决方案是创建一个对象数组和带有I值的散列元组(x,y),这样如果我有(x,y),我就可以知道它们属于一个[I]对象。在这种情况下,问题是我不知道需要创建多少对象,因此无法初始化数组。此外,如果我使用ArrayList或类似的东西,我就不能创建一个A[I]对象,并使用I来引用它

有什么想法吗


共 (1) 个答案

  1. # 1 楼答案

    lambda表达,以找到第一个Elementx=y=3

    list.stream().filter( e -> (e.x == 3 && e.y == 3) ).findFirst().get();