我有一个大的arrayList填充了一个文件(超过50000行),我需要在这个列表中找到一个特定的对象
我的对象类
public class City{
public City() {
super();
}
private String name;
private String department;
public String getName() {
return name;
}
public void setName(String name) {
this.nom = name;
}
public String getDepartment() {
return deparement;
}
public void setDepartment(String department) {
this.department = department;
}
@Override
public String toString() {
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
解决方案正在做
List<City> listCity = ParseFile.parseCityFile(this);
String item = textView.getText().toString();
for (City c : listCity ) {
if(c.getName().equals(item))
// stuff here
}
Run Code Online (Sandbox Code Playgroud)
但由于明显的性能原因,它不可接受.有什么建议可以更好地做到这一点吗?
使用a Map<String, City>代替List<City>,使用City#name地图中的键作为键.如果导航顺序无关紧要,则使用HashMap实现,否则使用LinkedHashMap或TreeMap.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |