java list 不包含_检查List / ArrayList是否包含字符串Java的字符

本文讨论了一个Java编程问题,即在ArrayList中查找字符串出现的次数。作者指出,由于将String与Character进行比较导致了错误,正确的做法是直接比较字符。提供的解决方案是使用charAt方法比较字符,并提供了相应的代码片段来修正这个问题。同时,代码示例适用于单个字符组成的字符串,若列表中只包含单个字符的字符串,可以考虑使用char数组代替ArrayList。
摘要由CSDN通过智能技术生成

我想检查在给定列表中是否找到字符串.

例如,如果我有:

ArrayList list = new ArrayList();

list.add("a");

list.add("e");

list.add("i");

list.add("o");

list.add("u");

String str = "aeo";

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

for (int j = 0; j < str.length(); j++) {

if (list.get(i).equals(str.charAt(j)))

count++;

}

System.out.println(count);

str在我的信件列表中找到,所以我必须看到我的计数值为3,因为我在列表中找到了3个匹配字符串.

无论如何,count打印值为0.

主要思想是我必须检查列表中是否找到str,无论str中字母的顺序如何.

解决方法:

您正在将String与Character进行比较,因此equals返回false.

比较字符:

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

for (int j=0; j < str.length(); j++) {

if (list.get(i).charAt(0) == str.charAt(j)) {

count++;

}

}

}

这假设您的列表仅包含单个字符串.顺便说一句,如果是这种情况,你可以用char []替换它:

char[] list = {'a','e','i','o','u'};

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

for (int j = 0; j < str.length(); j++) {

if (list[i] == str.charAt(j)) {

count++;

}

}

}

标签:java,string,character

来源: https://codeday.me/bug/20190724/1523306.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值