JAVA集合&&数组(二)——Collection
一、collection接口、迭代器、增强for循环
1、Connection接口
2、迭代器
3、增强for循环
二、线性表List、Set
1、List与Set的区别
2、List、Set实现类
三、队列Queue
1、Queue
2、Queue实现类
四、栈Deque
1、Deque
2、Deque实现类
一、collection接口、迭代器、增强for循环
1、Connection接口
JAVA集合类主要由两个接口派生而来:Collection和Map,Collection接口和Map接口是Java集合框架的根接口,这两个接口包含了一些子接口和实现类。Collection集合体系继承树如下:
2、迭代器
3、增强for循环
二、线性表List、Set
1、List与Set的区别
2、List、Set实现类
List实现类:
1) ArrayList:数组实现;查找快、增删慢。
2) LinkedList:链表实现;查找慢,增删快;并且实现了栈和队列。
3) Vector:和ArrayList原理相同;线程安全;效率低。
Set实现类:
1) HashSet:存取速度快,线程不安全。底层以Hash表实现。
2)TreeSet:红黑树数据结构,默认对元素进行自然排序。
3) LinkedHashSet:
三、队列Queue
1、Queue
2、Queue实现类
实现类:
1) LinkedList
1、队列Queue(java.util.Queue)
package test;
//队列是一种特殊的线性表,只能从队列的前端删除元素、只能从队列的末尾添加元素
//LinkedList实现了该接口
//java.util.Queue接口提供了三种常用的方法:offer、
import java.util.LinkedList;
import java.util.Queue;
public class QueueTest {
public static void main(String[] args) {
//构建一个队列
Queue queue=new LinkedList();
//向队列中添加元素
queue.offer("a");
queue.offer("b");
queue.offer("c");
queue.offer("c"); //允许存放重复元素
queue.offer("d");
queue.offer("e");
//取出第一个元素(最开始放进去的元素),取出的同时并且删除它
String queuePo=queue.poll();
System.out.println(queuePo);
//取出第一个元素
String queuePe=queue.peek();
System.out.println(queuePe);
for(String A:queue){
System.out.print(A+" ");
}
}
}
四、栈Deque
1、Deque
2、Deque实现类
实现类:
LinkedList:
1、栈Stack(java.util.Stack)
package test;
//栈:遵循先进后出的原则(Last In First Out,LIFO)
//java.util.Stack类提供了3种常用的方法:push、pop、peek
import java.util.Stack;
public class StackTest {
public static void main(String[] args) {
//构建一个栈
Stack stack=new Stack();
//向栈里面存入元素
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(3);
stack.push(3);//允许重复的元素
stack.push(4);
stack.push(5);
stack.push(6);
//取出栈里面的最后放进去的元素,取出的同时删除它
int a1=stack.pop();
//取出栈里面最后存入的元素
int a2=stack.peek();
System.out.println(a1);
System.out.println(a2);
for(Integer i:stack){
System.out.print(i+" ");
}
}
}
输出结果为:
6
5
1 2 3 3 3 4 5