gpt4 book ai didi

java - 比较两个arrayList得到共同的值,并且它应该不影响原始值

转载 作者:行者123 更新时间:2023-12-01 19:51:51 25 4
gpt4 key购买 nike

public void commonId(ArrayList<ArrayList<String>> stylistIdList) {
if (stylistIdList.size() > 1) {
array1=stylistIdList.get(0);
array2=stylistIdList.get(1);
booleanStylistid=array1.retainAll(array2);
} else {
array1=stylistIdList.get(0);
}
}

这里我有ArrayList<ArrayList<String>> stylistIdList包含两个arraylist我想从两个列表中获取共同值。它返回共同值,但在获得共同值后 ArrayList<ArrayList<String>> stylistIdList值更改为常见的值。我想要 ArrayList<ArrayList<String>> stylistIdList 中的相同值在获得共同值(value)观之后。

示例

ArrayList<ArrayList<String>> stylistIdLis = 0(0["abcdefgh"], ["abc"]), 1(0["abcdefgh"]);

输出stylistIdList=("abcdefgh");

获得输出后ArrayList<ArrayList<String>> stylistIdLis值更改为 ArrayList<ArrayList<String>> stylistIdLis = 0("abcdefgh"), 1("abcdefgh");但我想要这样

ArrayList<ArrayList<String>> stylistIdLis = 0(0["abcdefgh"],["abc"]), 1(0["abcdefgh"]);

最佳答案

retainAll 修改它所调用的列表。如果想在不修改原列表的情况下获取常用的ID,则需要返回一个新的列表。

public ArrayList<String> commonIds(ArrayList<ArrayList<String>> lists) {
List<String> common = new ArrayList<>(lists.get(0));
if (lists.size() > 1) common.retainAll(lists.get(1));

return common;
}

关于java - 比较两个arrayList得到共同的值,并且它应该不影响原始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51112442/

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