我有一个地图(比如人们,每个例子),像这样:
public Map<String, Person> personMap = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
我想按名称搜索此地图过滤.我有这个代码,但我很好奇是否有更优化或更优雅的方式来做到这一点.
public ArrayList<Person> searchByName(String query) {
ArrayList<Person> listOfPeople = new ArrayList<>();
for (Map.Entry<String, Person> entry : this.personMap.entrySet()) {
Person person = entry.getValue();
String name = entry.getValue().getName();
if (name.toLowerCase().contains(query.toLowerCase())) {
listOfPeople.add(person);
}
}
if (listOfPeople.isEmpty()) {
throw new IllegalStateException("This data doesn't appear on the Map");
}
return listOfPeople;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
我目前正在学习Java,并且在创建项目时,我创建了一些在任何给定类中不适合逻辑但在项目的整个上下文中有用的方法.
我有一个最好的例子是像这样分割camelCase世界的方法:
我已经考虑过创建一个名为Toolbox的新抽象类并在那里存储这些方法,但我想知道是否有关于这个主题的任何约定或最佳实践.