一、介绍
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。链表可分为单向链表和双向链表。
以下情况使用 LinkedList :
你需要通过循环迭代来访问列表中的某些元素。
需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。
二、常见使用
2.1添加元素
方法:add()
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("1");
list.add("2");
list.add("3");
}
结果:
[1, 2, 3]
2.2获取元素
方法:get()
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("1");
list.add("2");
list.add("3");
String s1 = list.get(0);
String s2 = list.get(1);
String s3 = list.get(2);
}
结果:
1
2
3
2.3迭代元素
方法:for 和 foreach()
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("1");
list.add("2");
list.add("3");
for (int i = 0 ;i<list.size();i++){
System.out.println("普通for循环-----"+list.get(i));
}
for (String s : list) {
System.out.println("foreach循环-----"+s);
});
}
结果:
普通for循环-----1
普通for循环-----2
普通for循环-----3
foreach循环-----1
foreach循环-----2
foreach循环-----3
2.4清空链表
方法: clear()
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("1");
list.add("2");
list.add("3");
list.clear();
System.out.println(list);
}
结果:
[ ]
2.5删除指定位置的元素
方法: remove(int index)
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("1");
list.add("2");
list.add("3");
System.out.println("删除前---"+list);
list.remove(0);
System.out.println("删除后---"+list);
}
结果:
删除前---[1, 2, 3]
删除后---[2, 3]
2.6返回链表元素个数
方法:size()
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("1");
list.add("2");
list.add("3");
int size = list.size();
System.out.println(size);
}
结果:
3