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集合体系继承树如下:

    JAVA集合&&数组(二)——Collection_第1张图片

    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)


JAVA集合&&数组(二)——Collection_第2张图片


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)

         

JAVA集合&&数组(二)——Collection_第3张图片


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