Android / Java:包含单词的Arraylist返回值

时间:2015-02-03 08:56:53

标签: java android arraylist

我正在构建一个应用程序,我从外部XML加载一个URL的arraylist(arraylist由JSoup解析创建)。 然后,我需要:

  1. 检查arraylist中的某个字符串中是否存在某个单词 (网址);
  2. 返回包含给定值的字符串(URL 包含我的话。)
  3. 为了管理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");

    感谢您的可用性

2 个答案:

答案 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);
        }
    }