java 检查列表的列表是否包含某个字符串

aiazj4mn  于 2023-01-19  发布在  Java
关注(0)|答案(1)|浏览(245)

我已经根据名称、人口、表面等制作了一个国家列表。我已经使用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。知道我哪里做错了吗?

rqqzpn5f

rqqzpn5f1#

您的新列表已使用名称列表、人口列表、表面列表和肥沃度列表对对象进行了重新排序。这意味着列表中索引为零的第一个元素将始终包含国家列表。因此,您应检索该列表,并检查其是否为.contains
System.out.println(list.get(0).contains("Nigeria"));
编辑:我误解了这个问题。2修正了我的答案。

相关问题