我已经根据名称、人口、表面等制作了一个国家列表。我已经使用Arrays.asList方法添加了每个条目。之后,所有条目都被添加到一个基于大洲的新列表中。例如
使用for循环将List<String> countriesAfrica = Arrays.asList("Nigeria", "Ethiopia", etc)
添加到List<Africa> africaList = new ArrayList<>();
for (int k = 0; k< countriesAfrica.size(); k++) {
africaList.add(new Africa(countriesAfrica.get(k),
populationAfrica.get(k),
surfaceAfrica.get(k),
fertilityAfrica.get(k)));
}
为了按国名进行搜索,我尝试使用contains()方法,将国家Africa添加到List of Lists中,如下所示:
List<List<String>> list = new ArrayList<>();
for (int i = 0; i < 4; i++) {
List<String> l = new ArrayList<>();
for (int j = 0; j < africaList.size(); j++) {
if (i == 0) {
l.add(africaList.get(j).getName());
}
if (i == 1) {
l.add(String.valueOf(africaList.get(j).getSurface()));
}
}
list.add(l);
}
使用contains方法,list.contains("Nigeria");
在使用SOUT时不返回任何东西或返回false。知道我哪里做错了吗?
1条答案
按热度按时间rqqzpn5f1#
您的新列表已使用名称列表、人口列表、表面列表和肥沃度列表对对象进行了重新排序。这意味着列表中索引为零的第一个元素将始终包含国家列表。因此,您应检索该列表,并检查其是否为
.contains
System.out.println(list.get(0).contains("Nigeria"));
编辑:我误解了这个问题。2修正了我的答案。