我正在构建一个应用程序,我从外部XML加载一个URL的arraylist(arraylist由JSoup解析创建)。 然后,我需要:
为了管理Arraylist.contains()
我发现了以下示例代码,我正在实施;但以下代码将返回打印输出句子,而不是值。
如何设置代码以返回包含给定单词的字符串?
public class MyArrayList extends ArrayList<String> {
private static final long serialVersionUID = 2178228925760279677L;
@Override
public boolean contains(Object o) {
return indexOf(o) >= 0;
}
@Override
public int indexOf(Object o) {
int size = this.size();
if (o == null) {
for (int i = 0; i < size ; i++) {
if (this.get(i) == null) {
return i;
}
}
} else {
for (int i = 0; i < size ; i++) {
if (this.get(i).contains(String.valueOf(o))) {
return i;
}
}
}
return -1;
}
}
在这里使用它:
MyArrayList arrayList = new MyArrayList();
arrayList.add("http://www.google.com");
arrayList.add("https://www.stackoverflow.com");
arrayList.add("http://pankajchunchun.wordpress.com");
if (arrayList.contains("google")) {
System.out.println("ArrayList Contains google word");
}
我需要结果为:System.out.println("The URL which contains my word");
感谢您的可用性
答案 0 :(得分:1)
你必须检查arraylist的整个长度: -
for(i=0;i<arrayList.size();i++)
{
if (arrayList.get(i).contains("google"))
{
System.out.println(arrayList.get(i));
}
else
{//your code
}}
我假设您的arraylist包含字符串元素
答案 1 :(得分:1)
正如我在这里评论的是代码:
for (String string : arrayList) {
if (string.contains("stackoverflow")) {
System.out.println(string);
}
}