gpt4 book ai didi

java - 将字符串数组中的项目与 HashMap 的 ArrayList 中的项目进行比较

转载 作者:行者123 更新时间:2023-12-01 11:40:41 26 4
gpt4 key购买 nike

所以我有两个字符串数组:

String[] a = {"Tony", "33", "male", "New York"};
String[] b = {"John", "33", "male", "Chicago"};

然后我有一个 HashMap 的 ArrayList:

ArrayList<HashMap<String, String>> list =
[{"name": "John", "age": "33", "gender": "male", "city": "Chicago"}],
[{"name": "Tony", "Age": "33", "gender": "male", "city": "New York"}];

所以我首先从另一个方法获取数组 a 或 b 。然后我想比较字符串 a 或 b 中索引 0 处的“名称”或值与 ArrayList 中的“名称”值相同,索引 1 处的字符串 a 或 b 值“33”相同作为 ArrayList 中的“年龄”值等等。我尝试过以下方法:

for(int i = 0; i <= list.size(); i++) {
assertEquals(b[0], list.get(i).get("name"));
assertEquals(b[1], list.get(i).get("age"));
assertEquals(b[3], list.get(i).get("city"));
}

但问题是,它仅适用于其中一个字符串列表,即只有当我首先获取字符串 b 时它才有效,因为在 i = 0 时,ArrayList 具有与字符串 b 相同的值。

最佳答案

String[] a = {"Tony", "33", "male", "New York"};

List<Map<String, String>> listOfMaps = ...;

boolean found = false;
for(final Map<String, String> map : listOfmaps) {
if(a[0].equals(map.get("name"))
&& a[1].equals(map.get("age"))
&& a[2].equals(map.get("gender"))
&& a[3].equals(map.get("city"))) {
found = true;
break;
}
}

if(!found) {
// raise the alarm - nothing matched
}

关于java - 将字符串数组中的项目与 HashMap 的 ArrayList 中的项目进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29552508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com