【发布时间】:2012-03-11 15:04:45
【问题描述】:
搜索对象列表并增加其中一个变量的最有效方法是什么?此外 addData() 函数调用 10000 次,在此列表中最多有 30 个带有增量变量的 diff-diff 键。
谢谢,
public void addData(List<DataWise> wise ,String name)
{
if(wise!=null)
{
for (DataWise dataWise : wise) {
if(dataWise.getName().equals(name))
{
dataWise.setVisits(1);
return;
}
}
}
DataWise dataWise2=new DataWise(name,1);
wise.add(dataWise2);
}
public class DataWise
{
private String name;
private int visits;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getVisits() {
return visits;
}
public void setVisits(int visits) {
this.visits+= visits;
}
}
【问题讨论】:
-
目前,代码不起作用。如果 'wise' 为 null,您将在 addData() 的最后一行得到一个空指针异常。根据允许更改接口的程度,最好使用 HashMap
进行查找。
标签: java performance optimization memory-management data-structures