集合的学习笔记。
1.类集是java对数据结构的实现,无限的往下存储
java的类集结构图(Map与List和Set并不是平级)
2.二叉树
4.Collection接口,是在整个 Java 类集中保存单值的最大操作父接口,里面每次操作的时候都只能保存一个对象的数据。 此接口定义在 java.util 包中
单次存储,可以指定删除的结果会返回布尔类型的结果
此接口的常用方法有:
Public boolean add(Ee) 向集合中插入一个元素
public Iterator<E>iterator() 为 Iterator 接口实例化
Public intsize() 求出集合中元素的个数
5.List接口,List 是 Collection 的子接口,里面的所有内容都是允许重复的
public Eget(intindex) 根据索引位置取出每一个元素
Public ListIterator<E>listIterator() 返回 ListIterator 接口的实例
6.ArrayList 使用的是数组结构,对于增加删除慢,查找快
传入包装类
7.vector和ArrayList基本一样
Vector 类和 ArrayList 类的区别
8.LinkedKist使用的是双列表结构,增加删除快,查找慢(队列结构)
LinkList模拟栈的结构,压栈和弹栈
9.Iterator用于迭代所有的集合
Iterator的常用方法
ListIterator用于迭代List集合
用while循环去判断下一个是否有iterator.hasNext()
Iterator.remove()需要先获取再删除
10.forEach 增强for循环,只能用于迭代数组或集合(Collection)
ctrl+shift+/ 多行注释
shift+回车 加入一行空行并将光标移入
11.HashSet散列存放利用的Hashmap的原理(是无序的)
12.TreeSet是有序的二叉树存储的。不是存储数据的有序,是数据本身的有序
13.多值存储Map 存储的是一个个的键值对数据,Map集合的键(key)不可重复的;
14.HashMap的使用 相对于多线程来说是不安全的但是效率高
Hashtable线程安全,排队喝水,一个一个来,这样的话效率就会比较慢
ConcurrentHashMap 采用分段锁的机制,保证线程安全的基础上,效率又比较高
HashMap的遍历
15.HashMap的实例有两个影响其性能的参数:初始容量和负载因子
初始容量不能太小,负载因子不能太大造成性能浪费
16.存储自定义对象
下面是一堆生成
不要随便修改HashMap中的键值对