我有一个很大的 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;
}
}
解决方案正在做
List<City> listCity = ParseFile.parseCityFile(this);
String item = textView.getText().toString();
for (City c : listCity ) {
if(c.getName().equals(item))
// stuff here
}
但由于明显的性能原因,它是不可接收的。 对于更好的方法有什么建议吗?
最佳答案
使用 Map<String, City>
而不是List<City>
,使用City#name
作为 map 中的关键。如果导航顺序不重要,则使用 HashMap
作为实现,否则使用 LinkedHashMap
或TreeMap
.
关于java - 在 arrayList 中查找特定对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25083543/