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很多方法都是一样的。 
posted @   何人陪我共长生  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示