标题说。是否在ArrayList
中根据某个属性查找对象,然后编辑该对象的不同属性。
例如:
MyList.Find( Attribute ).edit(something in attribute)
答案 0 :(得分:0)
不在本机Java类中。
您需要一个支持此功能的库,或者您自己编写它。
我建议使用一个返回第一个匹配的简单方法:
public static CustomObject findFirstByXxx(List<CustomObject> list, Object xxx) {
for(CustomObject o : list) {
if(o.getXxx().equals(xxx) {
return o;
}
}
return null;
}
您还可以尝试使用反射来创建要搜索变量的属性。
答案 1 :(得分:0)
遍历列表,直到找到具有所需属性的对象。现在你有了这个对象。将对象的setter用于其他字段。
您可能需要考虑将对象存储在Map而不是List中。
答案 2 :(得分:0)
使用binarySearch方法。
样品:
int index = Collections.binarySearch(array, Object, new Comparator<Object>() {
public int compare(Object o1, Object o2) {
if (o1.getProperty().equals(o2.getProperty()))
return 0;
return -1;
}
});