public class Test1 {
public static void main(String[] args) {
// <> 泛型
// 指定集合中允许存放的数据类型
// 泛型不支持基本类型
LinkedList<String> list = new LinkedList<>();
list.add("xxx");
list.add("aaa");
list.add("ttt");
list.add("eee");
list.add("aaa");
list.add("yyy");
list.add("mmm");
list.add("qqq");
list.add("aaa");
list.add(null);
System.out.println(list.size());
System.out.println(list);
list.add(3, "333");
System.out.println(list);
list.addFirst("***");
list.addLast("###");
System.out.println(list);
System.out.println(list.getFirst());
System.out.println(list.getLast());
System.out.println(list.removeFirst());
System.out.println(list.removeLast());
System.out.println(list.get(0));
System.out.println(list.get(list.size()-1));
System.out.println(list.contains("mmm"));
System.out.println(list.set(5, "555"));
System.out.println(list);
System.out.println(list.remove(6));
System.out.println(list);
System.out.println(list.remove("aaa"));
System.out.println(list);
//对于双向链表
//下标遍历效率低
for(int i=0;i<list.size();i++) {
String s = list.get(i);
System.out.println(s);
}
//双向链表迭代器遍历效率高
//新建迭代器对象
//写了删,删了写,现场治疗7遍
Iterator<String> it = list.iterator();
while(it.hasNext()) {//当还有下一项
String s = it.next();//取出下一项
System.out.println(s);
}
}
public static void main(String[] args) {
// <> 泛型
// 指定集合中允许存放的数据类型
// 泛型不支持基本类型
LinkedList<String> list = new LinkedList<>();
list.add("xxx");
list.add("aaa");
list.add("ttt");
list.add("eee");
list.add("aaa");
list.add("yyy");
list.add("mmm");
list.add("qqq");
list.add("aaa");
list.add(null);
System.out.println(list.size());
System.out.println(list);
list.add(3, "333");
System.out.println(list);
list.addFirst("***");
list.addLast("###");
System.out.println(list);
System.out.println(list.getFirst());
System.out.println(list.getLast());
System.out.println(list.removeFirst());
System.out.println(list.removeLast());
System.out.println(list.get(0));
System.out.println(list.get(list.size()-1));
System.out.println(list.contains("mmm"));
System.out.println(list.set(5, "555"));
System.out.println(list);
System.out.println(list.remove(6));
System.out.println(list);
System.out.println(list.remove("aaa"));
System.out.println(list);
//对于双向链表
//下标遍历效率低
for(int i=0;i<list.size();i++) {
String s = list.get(i);
System.out.println(s);
}
//双向链表迭代器遍历效率高
//新建迭代器对象
//写了删,删了写,现场治疗7遍
Iterator<String> it = list.iterator();
while(it.hasNext()) {//当还有下一项
String s = it.next();//取出下一项
System.out.println(s);
}
}
}
简单方法说明:
add(数据) 添加数据
add(int index, 数据) 在指定位置插入数据
addFirst(数据)
addLast(数据)
getFirst()
getLast()
removeFirst()
removeLast()
FIFO 操作 First In First Out,队列操作 Queue
offer(数据) - addLast
peek() - getFirst
poll() - removeFist
LIFO 操作 Last In Fisrt Out,栈操作 Stack
push() - addFirst
pop() - removeFist
get(int index) - 获得指定位置的值
contains(数据) - 判断列表中是否存在与指定数据相等(equals)的值
set(int index, 数据) - 将指定位置设置为新的值
size() - 获得列表中数据的数量
remove(int index) - 移除指定位置的元素,并返回被移除的数据
remove(数据) - 移除与指定数据相等的数据
clear() - 清空
iterator() - 获得新建的迭代器实例