集合--List&&ArrayList-LinkedList

1.8新特性  List接口中的replaceAll()方法,替换指定的元素,函数式接口编程

List  元素是有序的并且可以重复

四种add();方法

ArrayList(用于查询操作),底层是数组

LinkedList(用于删除和添加操作),底层是链表,数据结构

区别:性能差别,分布上差别

1.ArrayList

 创建ArrayList对象

List list = new ArrayList();

添加对象到list集合中

list.add("first");
list.add("second");

指定位置的插入对应元素

list.add(0, "three");

 添加一个集合到集合中

list.addAll(Arrays.asList("four", "five"));

 指定位置把集合添加到list集合对象中

list.addAll(0, Arrays.asList("six", "seven"));

添加重复的元素

list.add("four");

 通过简单for循环遍历集合

for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}

通过增强for循环

for (Object object : list) {
System.out.println(object);
}

迭代器

Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Object object = iterator.next();
System.out.println(object);
}

2.LinkedLis,方法跟ArraysList没多大区别

3.队列

特点:先入先出

创建一个队列

Queue queue=new LinkedList();
queue.offer("DDD");
queue.offer("BBB");
queue.offer("CCC");
System.out.println(queue);

出列

System.out.println(queue.poll());

获取列的首个元素,不会把元素从队列中移除

System.out.println(queue.peek());

移除首个元素

System.out.println(queue.remove());

使用LinkedList模拟队列

LinkedList qLinkedList=new LinkedList();
qLinkedList.addLast("dddddd");
qLinkedList.addLast("aaaaaa");
qLinkedList.addLast("cccccc");
System.out.println(qLinkedList);

获取列元素,不会把元素从队列中移除

System.out.println(qLinkedList.getFirst());

出列

System.out.println(qLinkedList.removeFirst());

4.栈

特点:先入后出.线程安全的

压栈

Stack stack=new Stack();
stack.push("AAAA");
stack.push("BBBB");
stack.push("FFFF");
System.out.println(stack);

弹栈

System.out.println(stack.pop());

获取栈顶元素

System.out.println(stack.peek());

模拟栈

LinkedList linkedList=new LinkedList();
linkedList.addLast("aaa");
linkedList.addLast("bbb");
linkedList.addLast("ccc");
System.out.println(linkedList);

弹栈

System.out.println(linkedList.removeLast());
原文地址:https://www.cnblogs.com/tanlei-sxs/p/9508694.html