我需要在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