📜  Java中的LinkedList indexOf()方法(1)

📅  最后修改于: 2023-12-03 15:31:57.184000             🧑  作者: Mango

Java中的LinkedList indexOf()方法

LinkedList是Java中的一个常用集合类,可以实现一个链表的数据结构。其中,indexOf()方法用于查找指定元素在链表中的索引位置。本文将详细介绍Java中的LinkedList indexOf()方法。

方法介绍

LinkedList的indexOf()方法的语法如下:

public int indexOf(Object o)

该方法的作用是查找指定元素在链表中第一次出现的位置。

方法参数o是要查找的元素,可以是任何类型(Object)。

方法返回值是找到的元素在链表中的索引位置(如果找到了该元素)。如果该元素在链表中不存在,则返回-1。

使用示例

下面是一个简单的使用LinkedList indexOf()方法的示例代码:

import java.util.LinkedList;

public class LinkedListExample {
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        list.add("pear");
        
        int index = list.indexOf("banana");
        System.out.println("Index of 'banana': " + index);
        
        index = list.indexOf("grape");
        System.out.println("Index of 'grape': " + index);
    }
}

上述代码先创建了一个LinkedList对象,然后向链表中添加了四个元素。接着,调用indexOf()方法查找“banana”元素和“grape”元素在链表中的位置,并将返回值保存在变量index中。最后,使用System.out.println()方法打印出两个元素在链表中的位置。

运行上述代码,输出如下:

Index of 'banana': 1
Index of 'grape': -1

可以看到,indexOf()方法成功地找到了“banana”元素在链表中的位置(索引1),但未能找到“grape”元素(返回值为-1)。

注意事项
  • LinkedList的indexOf()方法会遍历整个链表,直到找到指定的元素或者遍历结束。因此,这个方法的性能不如HashSet或者TreeSet的contains()方法。
  • 如果要在LinkedList中查找某个元素是否存在,建议使用contains()方法,而非indexOf()方法。
  • 当查找元素的类型为自定义类型时,应该重写该类型的equals()方法,以确保能够正确比较元素是否相同。否则,indexOf()方法可能无法正确地识别相同的元素。