Java中LinkedList链表如何查找元素
在Java中,LinkedList类提供了多种方法来查找元素。以下是一些常用的方法:
get(int index):返回指定索引位置的元素。如果索引超出范围,则抛出IndexOutOfBoundsException异常。
LinkedList list = new LinkedList<>(Arrays.asList("A", "B", "C", "D"));
String element = list.get(2); // 返回 "C"
indexOf(Object o):返回指定元素在列表中首次出现的索引。如果列表中不包含该元素,则返回-1。
LinkedList list = new LinkedList<>(Arrays.asList("A", "B", "C", "D"));
int index = list.indexOf("C"); // 返回 2
lastIndexOf(Object o):返回指定元素在列表中最后一次出现的索引。如果列表中不包含该元素,则返回-1。
LinkedList list = new LinkedList<>(Arrays.asList("A", "B", "C", "D"));
int lastIndex = list.lastIndexOf("C"); // 返回 2
contains(Object o):检查列表是否包含指定元素。如果包含,则返回true;否则返回false。
LinkedList list = new LinkedList<>(Arrays.asList("A", "B", "C", "D"));
boolean contains = list.contains("C"); // 返回 true
stream().filter():使用Java 8的Stream API过滤元素。这种方法适用于复杂的查找条件。
LinkedList list = new LinkedList<>(Arrays.asList("A", "B", "C", "D"));
List filteredList = list.stream()
.filter(s -> s.equals("C"))
.collect(Collectors.toList());
请注意,LinkedList的性能在随机访问元素时可能不如ArrayList。因此,在查找元素时,请根据实际需求选择合适的数据结构。