接口 Map :映射项,(键值对 ) 的容器
注意: 键 是唯一的
值 是可以重复的
实现类 HashMap :哈希表结构 允许使用null值 和 null 键 线程不安全 键唯一 无序
linkedHashMap: 保证插入顺序 和迭代顺序一致
Hashtable:数据结构:哈希表 不允许使用nullnull值 和 null 键,线程安全
pronerties 持久属性集,键和值都是字符串 可保存在流中和从流中加载
TreeMap:数据结构 :红黑树;排序
HashMap 初始容量 16,扩容时机就是加载因子控制,初始加载因子0.75
初始容量✖加载因子 开始扩容
增:
1. V put(K key, V value)
将指定的值与此映射中的指定键关联(可选操作)。
2.void putAll(Map<? extends K,? extends V> m)
从指定映射中将所有映射关系复制到此映射中(可选操作)。
删除:
1. void clear() 删除
从此映射中移除所有映射关系(可选操作)。
2. V remove(Object key) 根据键 来删出一个映射关系
如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
改
查
1. int size() :Map中映射项的个数
返回指定键所映射的值;如果Map中没有元素,则返回 null。
2. int hashCode()
返回此映射的哈希码值。
3.Set<K> keySet() 将键 存入 Set中 然后将set结合返回
返回此映射中包含的键的 Set 视图。
4. Collection<V> values()
返回此映
3. Set<Map.Entry<K,V>> entrySet():将所有的硬设项,作为元素存入set集合中,再将set集合返回
判断
1.boolean isEmpty() :是否为空
2. boolean equals(Object o)
比较指定的对象与此映射是否相等。
3.boolean containsKey(Object key) :是否包含键
4.boolean containsValue(Object value):是否包含值
5.V get(Object key) 根据键 获取值
(先继承 再实现)
Arrays 数组
Collections 集合
1.static int binarySearch (int[] a, int key) 二分法查找 :升序
多线程基础
1.程序 (Program) 是一个静态的概念 , 一般对应与操作系统中的一个可执行的文件
2.执行中的程序叫做 进程 Process 是一个动态的概念, 其实进程就是一个内存中独立运行的 程序空间
3.LInux 是服务器 Windows : ”多任务“的操作系统 操作系统可以同时运行多个任务
4.时间片轮转调度算法
单核的话 你们这些软件 只能运行5毫秒 然后下一个 进行线程切换
5.线程 进程的分支 我们称为线程
总结 1 .程序 没有开始运行的代码
2进程 开始执行的程序
3.多线程 Thread 一个程序内部 需要做多任务
一条生产线 多个工人 单进程多线程
多个生产线 多个工人 多进程 多线程
线程是程序执行的最小单位
一个进程 由一个或多个线程组成
线程是一个进程中代码的不同执行路线
进程之间是相互独立的 ,同一个进程下 线程是共享内存空间的 包括 (代码段, 数据集堆等)
并发 多个线程同时运行 一个CUP下 计算机采用时间片 算法 其他线程处于就绪状态 这种方式我们称为并发
串行 一个cup 任务 A ->B ->C
并行 任务数量小于CPU核数 就是任务真的是一起执行的
一个cpu A 执行一会儿 B 执行一会儿 C 执行一会儿 轮着来 称为 并发
标签:HashMap,映射,感念,Object,线程,key,进程,多线程 From: https://www.cnblogs.com/ningbaoer/p/17350284.html