【Java基础】集合(1) —— Collection
【Java基础】集合(2) —— List
【Java基础】集合(3) —— Set
【Java基础】集合(4) —— 泛型
【Java基础】集合(5) —— Map
【Java基础】集合(6) —— Collections
存储的对象是有序的(集合中存储对象的顺序和使用add方法添加对象的顺序一致),存储的对象是可重复的。
List的特有的功能: 都是可以操作索引的功能。
增:
col.add("java");
col.add(1,"hello");
col.addAll(2,col2);
删
Object obj = col.remove(3);
改
col.set(2,"bigdata");
查
col.replaceAll(t->((String)t).concat("hehe"));
col.sort((o1,o2)->((String)o2).length()-((String)o1).length());
Enumeration elements()
hasMoreElements() nextElement()
Vector v=new Vector();
v.add("java01");
v.add("java02");
Enumeration en = v.elements();
while(en.hasMoreElements()){
Object obj = en.nextElement();
System.out.println(obj);
}
后缀:List,说明存储的数据有序,可重复
前缀:Linked,说明该集合在存储数据时,底层数据结构是链表
链表的特点是便于添加和删除,不便于查找
单向链表:
双向链表:
addFirst() addLast()
getFirst() getLast()
removeFirst() removeLast()
jdk1.6以后
offerFirst() offerLast()
peekFirst() peekLast()
pollFirst() pollLast()
public static void main(String[] args) {
LinkedList list=new LinkedList();
list.addFirst("001");
list.addFirst("002");
list.addFirst("003");
while(!list.isEmpty())//删除所有节点
System.out.println(list.removeFirst());
//System.out.println(list.getFirst());//NoSuchElementException
//System.out.println(list.peekFirst()); //null 不会异常
//System.out.println(list.removeFirst());// 异常
System.out.println(list.pollFirst());//null 不会异常
}