我需要在ArrayList中找到car
元素。這樣
{ [1,mobile,5000] [2,car,50000] [3,bike,20000] }
如何在java中搜索ArrayList中的元素?
和類ArrayList的數據是
//pro.java
import java.util.*;
public class Pro{
private int id;
private String name;
private int price;
public String toString(){
return id+" "+name+" "+price;
}
//getter & setter methods
}
和搜索代碼是這樣的
//Product.java
System.out.println("enter name you want to search");
name = scanner.next();
Iterator it=al.iterator();
while(it.hasNext()){
if(it.next() == name){
System.out.println("Yes found");
}
else{
System.out.println("Not Found");
}
}
it
是迭代器參考對象和al
是該ArrayList參考對象。
搜索總是返回未找到,但找到的元素存在。如何修復它以返回FOUND?請幫我用適當的代碼謝謝。
不要推倒重來。使用'List#contains'。 – m0skit0
除了「不使用==比較字符串」之外,您還可以考慮在Product類中定義合適的equals和hashCode方法;這將允許您使用Java集合爲您提供的各種「查找」方法。 – GhostCat
這不僅是字符串比較 - 它還與'String'共同映射'Pro'。 – flo