" indexOf()"方法工作和它可以在哪里使用?

时间:2016-03-13 01:41:15

标签: java iterator listiterator

我是Java的新手,正在尝试学习迭代器的概念。我在Java Tutorial Oracle看到了下面的代码,但是,我正在努力理解这种方法的功能以及如何使用它。有人可以向我提供一个如何使用此方法作为工作代码的一部分的示例,并向我解释它是如何工作的?

public int indexOf(E e) {
    for (ListIterator<E> it = listIterator(); it.hasNext(); )
        if (e == null ? it.next() == null : e.equals(it.next()))
            return it.previousIndex();
    // Element not found
    return -1;
}

2 个答案:

答案 0 :(得分:2)

这是一种查找底层e可能(或可能不)包含的元素E(泛型类型Collection)的索引的方法。如果存在,则使用it.previousIndex()返回元素的索引值。否则,它返回-1

答案 1 :(得分:1)

indexOf()方法用于查找特定字符的索引,或字符串中特定子字符串的索引。请记住,所有内容都是零索引(如果您还不知道)。这是一个简短的例子:

public class IndexOfExample {

   public static void main(String[] args) {

       String str1 = "Something";
       String str2 = "Something Else";
       String str3 = "Yet Another Something";

       System.out.println("Index of o in " + str1 + ": " + str1.indexOf('o'));
       System.out.println("Index of m in " + str2 + ": " + str2.indexOf('m'));
       System.out.println("Index of g in " + str3 + ": " + str3.indexOf('g'));
       System.out.println("Index of " + str1 + " in " + str3 + ": " + str3.indexOf(str1));
   }
}

输出:

Index of o in Something: 1
Index of m in Something Else: 2
Index of g in Yet Another Something: 20
Index of Something in Yet Another Something: 12