linkedlist特点是什么?linkedlist用法介绍

KLQ 2020-05-25 15:51:56 java常见问答 4345

对于linkedlist的特点你了解吗?linkedlist的用法操作你又知道哪些呢?下面一起来详细的了解一下这两个方面的内容吧。

一、linkedlist特点

1、LinkedList维护了元素插入的时候的顺序;

2、实现了Queue、Deque接口;

3、是非线程安全的;

4、适合删除操作,因为,删除不会发生移位;

5、可以包含重复的元素;

以上五点就是linkedlist的特点了,你都了解了吗?下面再一起来了解一下linkedlist用法(常用操作)吧。

二、linkedlist用法(常用操作)

1、创建LinkedList

LinkedList < String > emps = new LinkedList < > ();
emps.add("Zhang San");
emps.add("Li Si");
emps.add("Wang Wu");
emps.add(2, "Zhao Liu"); //在指定位置(索引)添加元素
emps.add(null); //可以包含空值 
emps.addFirst("Ma Yi"); //在begin添加元素
emps.addLast("Ye gu"); //在end添加元素
System.out.println(emps); //[Ma Yi, Zhang San, Li Si, Zhao Liu, Wang Wu, null, Ye gu]
//添加List				
List < String > newEmp = new ArrayList < > ();
newEmp.add("Xu Qian");
emps.addAll(newEmp);
System.out.println(emps); //[Ma Yi, Zhang San, Li Si, Zhao Liu, Wang Wu, null, Ye gu, Xu Qian]

2、访问LinkedList

LinkedList < String > emps = new LinkedList < > ();
emps.add("Zhang San");
emps.add("Li Si");
emps.add("Li Si");
emps.add("Wang Wu");
emps.add("Zhao Liu1");
emps.add("Zhao Liu2");
System.out.println(emps.indexOf("Li Si")); // 1
System.out.println(emps.lastIndexOf("Liu ray")); //-1    找不到返回-1
//根据索引获取元素
System.out.println(emps.get(1)); //Li Si
//获取第1个元素
System.out.println(emps.getFirst()); //Zhang San
//获取最后1个元素
System.out.println(emps.getLast()); //Zhao Liu2
//根据索引删除元素
String name = emps.remove(1);
//删除并返回第1个元素
String firstName = emps.removeFirst();
//删除并返回最后1个元素
String firstName = emps.removeLast();
//根据对象删除元素,返回boolean
boolean flag1 = emps.remove("Li Si");
//根据条件删除元素,返回boolean
boolean flag2 = emps.removeIf(name - > name.contains("W"));
//清空List
emps.clear();

3、Iterator遍历

LinkedList < String > emps = new LinkedList < > ();
emps.add("Zhang San");
emps.add("Li Si");
emps.add("Li Si");
emps.add("Wang Wu");
emps.add("Zhao Liu1");
emps.add("Zhao Liu2");
Iterator < String > iterator = emps.iterator();
while (iterator.hasNext())
{
    String name = iterator.next();
    System.out.println(name);
}

4、forEach 遍历

LinkedList < String > emps = new LinkedList < > ();
emps.add("Zhang San");
emps.add("Li Si");
emps.add("Li Si");
emps.add("Wang Wu");
emps.add("Zhao Liu1");
emps.add("Zhao Liu2");
emps.forEach(name - >
{
    System.out.println(name);
});

对于linkedlist的特点和用法就给大家介绍到这里了。

更多linkedlist常见问题,欢迎继续来奇Q工具网了解。

推荐阅读:

Linkedlist是每次遍历都从第一个吗?有多少种遍历方式?

arraylist和linklist区别分别有哪些?

java List和Set的区别是什么?有什么区别?