Java.util.LinkedList.indexOf(), lastIndexof() in Java
在Java中,LinkedList是一种经常使用的数据结构,它是一个以双向链表实现的列表,这意味着使用LinkedList可以方便地进行前后元素的遍历、插入和删除操作。Java的LinkedList类提供了许多方法来操作列表,其中 indexOf() 和 lastIndexOf() 是我们今天要讨论的主题。
indexOf()方法
indexOf() 方法返回指定元素在 LinkedList 中第一次出现的位置,如果元素不存在则返回-1。以下是使用 indexOf() 方法的示例代码:
import java.util.LinkedList;
public class Example {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
// 添加元素
list.add("apple");
list.add("banana");
list.add("orange");
list.add("grape");
list.add("banana");
int index1 = list.indexOf("banana");
int index2 = list.indexOf("watermelon");
System.out.println(index1); // 输出 1
System.out.println(index2); // 输出 -1,因为 "watermelon" 在列表中不存在
}
}
在上面的示例中,我们创建了一个名为 list 的 LinkedList 对象,并添加了一些元素。然后使用 indexOf() 方法查找元素 “banana” 和 “watermelon” 在列表中的位置,并输出结果。
需要注意的是,LinkedList 中重复元素的 indexOf() 方法将返回第一次出现该元素的位置。在上例中,”banana” 分别在位置 1 和 4 出现,但 indexOf() 方法只返回了第一次出现 “banana” 的位置。
lastIndexOf()方法
lastIndexOf() 方法返回指定元素在 LinkedList 中最后一次出现的位置,如果元素不存在则返回-1。以下是使用 lastIndexOf() 方法的示例代码:
import java.util.LinkedList;
public class Example {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
// 添加元素
list.add("apple");
list.add("banana");
list.add("orange");
list.add("grape");
list.add("banana");
int index1 = list.lastIndexOf("banana");
int index2 = list.lastIndexOf("watermelon");
System.out.println(index1); // 输出 4
System.out.println(index2); // 输出 -1,因为 "watermelon" 在列表中不存在
}
}
在上例中,我们创建了一个名为 list 的 LinkedList 对象,并添加了一些元素。然后使用 lastIndexOf() 方法查找元素 “banana” 和 “watermelon” 在列表中的位置,并输出结果。
需要注意的是,LinkedList 中重复元素的 lastIndexOf() 方法将返回最后一次出现该元素的位置。在上例中,”banana” 分别在位置 1 和 4 出现,但 lastIndexOf() 方法返回的是最后一次出现 “banana” 的位置。
总结
LinkedList 是一种经常使用的数据结构,在Java中使用它可以方便地进行前后元素的遍历、插入和删除操作。 Java.util.LinkedList 中的 indexOf() 和 lastIndexOf() 方法可以方便地有序查找指定元素的位置,并且在处理重复元素时具有很好的性能表现。在实际项目中,我们可以根据实际需求灵活运用这两种方法来提高代码的执行效率和可维护性。
极客笔记