gpt4 book ai didi

java - 比较两个 String[] 数组并打印出不同的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:45:28 27 4
gpt4 key购买 nike

我有一个文件夹中所有文件名的列表和一个由开发人员手动“检查”的文件列表。我将如何比较这两个数组,以便我们只打印出主列表中不包含的数组。

public static void main(String[] args) throws java.lang.Exception {
String[] list = {"my_purchases", "my_reservation_history", "my_reservations", "my_sales", "my_wallet", "notifications", "order_confirmation", "payment", "payment_methods", "pricing", "privacy", "privacy_policy", "profile_menu", "ratings", "register", "reviews", "search_listings", "search_listings_forms", "submit_listing", "submit_listing_forms", "terms_of_service", "transaction_history", "trust_verification", "unsubscribe", "user", "verify_email", "verify_shipping", "404", "account_menu", "auth", "base", "dashboard_base", "dashboard_menu", "fiveohthree", "footer", "header", "header_menu", "listings_menu", "main_searchbar", "primary_navbar"};
String[] checked = {"404", "account_menu", "auth", "base", "dashboard_base", "dashboard_menu", "fiveohthree", "footer", "header", "header_menu", "listings_menu"};

ArrayList<String> ar = new ArrayList<String>();

for(int i = 0; i < checked.length; i++)
{
if(!Arrays.asList(list).contains(checked[i]))
ar.add(checked[i]);
}
}

最佳答案

将循环更改为:

ArrayList<String> ar = new ArrayList<String>();

for(int i = 0; i < checked.length; i++) {
if(!Arrays.asList(list).contains(checked[i]))
ar.add(checked[i]);
}

ArrayList ar 应该在 for 循环之外。否则每次当 list 中存在 checked 数组的元素时,都会创建 ar

编辑:

if(!Arrays.asList(list).contains(checked))

使用此语句,您将检查 checked 引用是否不是 list 的元素。应该用checked[i]来检查checked的元素是否存在于list中。

如果要打印 list 中未在 checked 中的元素。然后使用:

for(int i = 0; i < list.length; i++) {
if(!Arrays.asList(checked).contains(list[i]))
ar.add(list[i]);
}
System.out.println(ar);

关于java - 比较两个 String[] 数组并打印出不同的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36122735/

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