java.util.Vector v = new Vector();
Model model = new Model();
v = model.getData();
for (int i = 0; i < v.size(); i++)
{
model = (Model) v.elementAt(i);
System.out.println(model.getName());
}
我正在使用此代码来获取数据。首先,我在vector对象中设置数据,然后尝试通过for循环检索所有数据。但是,我的代码不起作用 - 我收到以下错误消息:
我做错了什么?
答案 0 :(得分:1)
如果您不想获取重复条目,请使用java.util.Set
。您必须记住在equals
类中覆盖hashcode
和Model
方法。
import java.util.*;
Model model = new Model();
Set s = new HashSet(model.getData());
for (Object model : s) {
if (model instanceOf Model) {
System.out.println(((Model)model.getName()));
}
}
为了获得更好的性能,您应该使用通用版本的集合类。因此,如果我们假设您的方法Model.getData()
具有以下签名:
public Collection<Model> getData();
上述代码可以用这种方式编写:
import java.util.*;
Model model = new Model();
Set<Model> s = new HashSet<Model>(model.getData());
for (Model model : s) {
System.out.println(model.getName());
}