对于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工具网了解。
推荐阅读: