java中链表LinkedList
复习一下:
ArrayList在java哪一个包中?
ArrayList在java --> util包中
import java.util.ArrayList;
LinkedList
LinkedList: 可以在集合前面增加数据,也可以在后面增加数据,还可以在数据之间增加数据。
LinkedList 新增add
package goodStudy;
//ArrayList在java--> util包中
import java.util.ArrayList;
// LinkedList也在java--> util包中
import java.util.LinkedList;
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
System.out.println("数据:"+ list);
}
}
LinkedList获取第0项的值getFirst和get
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
// 数据:第1项
// 数据:第1项
System.out.println("数据:"+ list.getFirst());
System.out.println("数据:"+ list.get(0));
}
}
LinkedList.addFirst()添加到最前面
addFirst: 用于在链表的开头(也就是第一个位置)插入一个指定的元素。这个操作会使得链表的大小增加1。
该方法没有返回值
LinkedList list = new LinkedList();
list.add("第1项");
// 会把它添加到最前面
list.addFirst("第xx项");
// 输出的是: [第xx项, 第1项]
System.out.println(list);
LinkedList.add()在指定位置新增一项
list.add("第1项");
list.add("今天在上班");
list.addFirst("第xx项");
list.add(1, "又新增了一项");
System.out.println(list);
输出来的是: [第xx项, 又新增了一项, 第1项, 今天在上班]
LinkedList.addLast()添加到最后面
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
list.add("今天在上班");
list.addLast("最后一个严肃");
list.add("嘿嘿");
// 输出的值是: [第1项, 今天在上班, 最后一个严肃, 嘿嘿]
System.out.println(list);
}
}
LinkedList.get()获取指定位置的值
package goodStudy;
// LinkedList也在java--> util包中
import java.util.LinkedList;
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
list.add("今天在上班");
list.addFirst("第xx项");
list.add(1, "又新增了一项");
// 输出的值是: 又新增了一项
System.out.println(list.get(1));
}
}
特殊for循环
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
list.add("今天在上班");
list.addFirst("第xx项");
list.add(1, "又新增了一项");
for(Object obj:list){
System.out.println("当前这一项:"+ obj);
}
}
}
修改数据 set
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
list.add("今天在上班");
list.set(1, "马上要下班了");
System.out.println("数据:"+ list);
}
}
删除数据 remove("删除某一项"),成功返回true,失败返回false
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
list.add("今天在上班");
Boolean flag = list.remove("今天在上班");
// true
System.out.println("flag:"+ flag);
// ["第1项"]
System.out.println("数据:"+ list);
}
}
删除第1项LinkedList.remove() 删除第1项,并返回删除的元素
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
list.add("今天在上班");
// 删除第1项,并返回删除的元素
System.out.println(list.remove());
System.out.println(list);
}
}
LinkedList.removeFirst() 删除第一个元素
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
list.add("今天在上班");
// 删除第1项,并返回删除的元素
System.out.println(list.removeFirst());
System.out.println(list);
}
}
LinkedList.removeLast() 删除最后一个元素
LinkedList.remove(2)删除下标为2的元素
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
list.add("今天在上班");
list.add("第3项");
// 删除下标为1的元素
list.remove(1);
// 输出的是 [第1项, 第3项]
System.out.println(list);
}
}
LinkedList.addAll(Collection) 将指定集合中的所有元素添加到链表的末尾。
addAll: 方法用于将指定集合中的所有元素添加到链表的末尾。
如果指定的集合为 null,则抛出 NullPointerException。
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
list.add("今天在上班");
LinkedList newList = new LinkedList();
newList.add("11");
newList.add("22");
newList.addAll(list);
// 输出:[11, 22, 第1项, 今天在上班]
System.out.println(newList);
}
}
LinkedList.push()将元素添加到链表的头部
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
list.add("今天在上班");
list.add("第3项");
list.push("添加到头部");
// 输出的值是:[添加到头部, 第1项, 今天在上班, 第3项]
System.out.println(list);
}
}
LinkedList.pop()从链表的头部移除元素并返回第一个元素
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
list.add("今天在上班");
list.add("第3项");
// 输出的值是: 第1项
System.out.println(list.pop());
// 输出的值是:[今天在上班, 第3项]
System.out.println(list);
}
}
LinkedList.size()获取链表长度
LinkedList.isEmpty()判断链表是否为空,如果是空,返回true;否则返回false
LinkedList.clear()清空链表,没有返回值
LinkedList.clear()清空链表
如果在调用 clear() 方法之前链表是空的,那么调用该方法后链表仍然为空,且不会发生任何异常
没有返回值
LinkedList.contains()判断链表中是否包含某元素,是的话返回true,否则返回false
public class goodStudy{
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("第1项");
list.add("今天在上班");
list.add("第3项");
// 输出的值是:true
System.out.println(list.contains("今天在上班"));
}
}
LinkedList.element()获取第一个元素
LinkedList.indexOf() 获取元素第一次出现的位置
LinkedList.lastIndexOf() 获取元素最后一次出现的位置
发现的一点规律
链表LinkedList 和 ArrayList很多方法都是一样的。
作者:流年少年
出处:https://www.cnblogs.com/ishoulgodo/
本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
如果文中有什么错误,欢迎指出。以免更多的人被误导。
出处:https://www.cnblogs.com/ishoulgodo/
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!
万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

支付宝

微信
如果文中有什么错误,欢迎指出。以免更多的人被误导。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析