Java Collection 【vaynexiao】

process
在这里插入图片描述

凡是Tree的都是自然排序,所以存储的对象类型必须有compare方法, compare遇到null报错

由链表保证元素有序(输入顺序)
​由哈希表保证元素唯一

栈 先进后出,后进先出,进栈出栈
队列 先进先出,后进后出
数组 查找快,增删慢,线程不安全
链表 查找慢,增删快
树 查找慢,增删快
(先序遍历,中序遍历,后序遍历)
哈希表 键值对结构,通过key那value
数组的元素是单链表

数组:
1. 数组可以存储基本数据类型和对象
2. 数组长度固定
3. 数组在定义时必须指定数组元素类型
4. 数组中无法直接获取实际存储的元素个数,只知道数组长度
5. 数组是有序的分配连续空间

集合:
7. 集合只能存储对象(可以以包装类的形式存储基本数据类型)
8. 集合长度可以动态改变
9. 集合中元素默认为Object类型
10. 集合中可以直接通过size()获取实际存储的元素个数
11. 集合有多个存储方式适应不同的场合
12. 集合以接口和类的形式存在,具有封装、继承、多态等特性

Iterator<String> iterator = colection.iterator();
while (iterator.hasNext()) {
    
    
        Object obj = iterator.next();
        System.out.println("遍历结果:" + obj);
}

Queue

		Queue<String> queue = new LinkedList<String>();//FIFO

		// 一些队列有大小限制,加入一个新项,多出的项就会被拒绝,当出现异常时,add方法抛出异常
		// 而offer则返回的是false,就是啥事也没有,也不抛异常,也没有添加成功!
		queue.offer("b"); // add a element
		queue.offer("c"); // add a element
		queue.add("a"); // add a element

		System.out.println(queue.peek()); //get head element   在队列为空时,而peek()返回null
		System.out.println(queue.element()); //get head element  在队列为空时,element()抛出一个异常
		System.out.println(queue);

		System.out.println(queue.remove()); // 移除一个元素 空集合调用时抛出异常
		System.out.println(queue.poll()); // 移除一个元素 空集合调用时不抛出异常,只是返回 null
		System.out.println(queue);

猜你喜欢

转载自blog.csdn.net/vayne_xiao/article/details/110956794