如何将String与ArrayList完整的对象进行比较

时间:2017-09-23 13:47:20

标签: java arraylist

我的主要课程中有这段代码:

 System.out.println("pls enter the id that you are looking for");
 String id = keyboard.nextLine();

 for(int k=0;k<elements.size();k++){

   elements.Hotell.get_Idset().equals(id);

 }

我想在我的ArrayList中搜索一个充满对象的id。

首先,我从键盘上读取了ID(String),并希望与我的ArrayList进行比较,以确定此ID是否存在。

方法get_Idset()也属于班级Hotell, 所以我收到了一个错误:

  

无法找到符号变量Hotell

我没有找到答案。

我的ArrayList

ArrayList<Object> elements = new ArrayList<Object>();

1 个答案:

答案 0 :(得分:2)

您需要进行以下更改:

  • 制作elements HotellObject个实例列表,例如: ArrayList<Hotell> elements = new ArrayList<Hotell>();
  • 迭代列表并使用get_Idset()(假设它返回一个字符串)来获取并比较id

以下是示例:

ArrayList<Hotell> elements = new ArrayList<Hotell>(); //Your list
String id = keyboard.nextLine();
Optional<String> element = elements.stream()
        .filter(e -> e.get_Idset().equals(id))
        .findFirst();
if(element.isPresent()){
    System.out.println("Element found");
}else{
    System.out.println("Element not found");
}