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

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

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 ar = new ArrayList();

for(int i = 0; i < checked.length; i++)

{

if(!Arrays.asList(list).contains(checked[i]))

ar.add(checked[i]);

}

}

解决方法:

将你的循环改为:

ArrayList ar = new ArrayList();

for(int i = 0; i < checked.length; i++) {

if(!Arrays.asList(list).contains(checked[i]))

ar.add(checked[i]);

}

ArrayList ar应该在for循环之外.否则,每次当列表中存在已检查数组的元素时,将创建ar.

编辑:

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

使用此语句,您将检查选中的引用是否不是列表的元素.应检查[i]以检查列表中是否存在已检查元素.

如果要在列表中打印未选中的元素.然后使用:

for(int i = 0; i < list.length; i++) {

if(!Arrays.asList(checked).contains(list[i]))

ar.add(list[i]);

}

System.out.println(ar);

标签:java,arrays

来源: https://codeday.me/bug/20190717/1488252.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值