javalist查元素_java中如何在LinkedList查元素
java中如何在LinkedList查元素我们可以通过⼀个简单的例⼦来为各位介绍让各位清楚的知道LinkedList查元素的⽅法。
LinkedList类是双向列表,列表中的每个节点都包含了对前⼀个和后⼀个元素的引⽤.
LinkedList的构造函数如下
1. public LinkedList(): ——⽣成空的链表
2. public LinkedList(Collection col): 复制构造函数
我们可以使⽤LinkedList的indexOf()或者lastIndexOf()⽅法来查元素(遇到第⼀个匹配的元素即停⽌搜索,同时返回该元素的索引。所以,当LinkedList中有两个同样的元素的时候,使⽤这两个⽅法只会返回第⼀个匹配的元素)。虽然LinkedList不像ArrayList⼀样⽀持随机搜索(random search),但是我们仍可以遍历整个线性表,查需要的元素。
java.util.LinkedList是双向链表的实现,因此有两个可以⽤来进⾏查操作,分别是:
indexOf()表⽰从线性表的头部开始搜索,当到第⼀个匹配的元素后就停⽌搜索并返回匹配的元素的索引
lastIndexOf()表⽰从线性表的尾部开始搜索,当到第⼀个匹配的元素后就停⽌搜索并返回匹配的元素的索引。
它们的索引值都是以头部为起点开始计算的,所以对于LinkedList中同⼀个的元素,使⽤indexOf()和lastIndexOf()两个⽅法返回的值是⼀样的。如果LinkedList中有两个⼀样的元素,则使⽤lastIndexOf()和indexOf()返回的结果肯定是不同的。正如前⾯所说的,LinkedList并不⽀持随机搜索,要搜索⼀个元素需要遍历整个List,这意味这查的时间复杂度(time complexity)是O(n)。
下⾯是LinkedList的结构描述:
java中index是什么意思linked list daa structure in Java
代码实例:
import java.util.LinkedList;
/**
* Java Program to search an element inside LinkedList.
* LinkedList doesn't provide random search and
* time complexity of searching is O(n)
*
* @author java67
*/
public class LinkedListSearch {
public static void main(String args[]) {
LinkedList ints = new LinkedList<>();
ints.add(1001);
ints.add(1002);
ints.add(1003);
ints.add(1004);
ints.add(1005);
ints.add(1003);
// let's search a duplicate element in linked list
// for duplicate elements indexOf() and lastIndexOf() will
// return different indexes.
System.out.println("First index of 1003 is : " ints.indexOf(1003)); System.out.println("Last index of 1003 is : " ints.lastIndexOf(1003)); // let's search an element which is not appeared twice
// for unique elements both indexOf() and lastIndexOf() will return // same position
System.out.println("First index of 1002 is : " ints.indexOf(1002)); System.out.println("Last index of 1002 is : " ints.lastIndexOf(1002)); }
}
Output :
First index of 1003 is : 2
Last index of 1003 is : 5
First index of 1002 is : 1
Last index of 1002 is : 1
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论