gpt4 book ai didi

java - 比较两个不同数组列表中的字符串(JAVA)

转载 作者:行者123 更新时间:2023-12-02 03:43:40 26 4
gpt4 key购买 nike

这是我的代码的一部分:

  ArrayList<String> Alist= new ArrayList<String>();
ArrayList<String> Blist= new ArrayList<String>();

Alist.add("gsm");
Alist.add("tablet");
Alist.add("pc");
Alist.add("mouse");

Blist.add("gsm");
Blist.add("something");
Blist.add("pc");
Blist.add("something");

所以我有两个数组列表,我想比较所有项目并检查它们是否不相等以及它们是否仅打印不相等的项目 .

所以我做了这样的事情:

http://postimage.org/image/adxix2i13/抱歉这张图片,但是当我在这里发布 for 循环时,我遇到了某种错误。

结果是:

not equals..:tablet
not equals..:pc
not equals..:mouse
not equals..:gsm
not equals..:tablet
not equals..:pc
not equals..:mouse
not equals..:gsm
not equals..:tablet
not equals..:pc
not equals..:mouse
not equals..:gsm
not equals..:tablet

我只想打印示例中不相等的 2 个,它们是 gsm 和 pc

not equals..:gsm
not equals..:pc

最佳答案

不要使用!=来比较字符串。使用equals方法:

if (! Blist.get(i).equals(Alist.get(j))

但这可能无法解决您的算法问题(根本不清楚)。

如果您想要知道哪些项目在同一位置相同,您可以使用一个简单的循环:

int sizeOfTheShortestList = Math.min(Alist.size(), Blist.size());
for (int i=0; i<sizeOfTheShortestList; i++) {
if (Blist.get(i).equals(Alist.get(i))) {
System.out.println("Equals..: " + Blist.get(i));
}
}

如果您想获取两个列表中的项目,请使用

for (int i = 0; i < Alist.size(); i++) {
if (Blist.contains(Alist.get(i))) {
System.out.println("Equals..: " + Alist.get(i));
}
}

关于java - 比较两个不同数组列表中的字符串(JAVA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13207601/

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