Map|多线程小结

这篇博客总结了Java中的Map遍历方法,包括Collections工具类的各种操作,并深入介绍了多线程的概念、优缺点、线程状态以及如何开启线程。通过示例展示了继承Thread类、实现Runnable接口以及使用ExecutorService创建线程池的方式。此外,还讨论了线程的阻塞、就绪、运行和终止状态,以及sleep()、yield()、join()等线程控制方法的使用。
摘要由CSDN通过智能技术生成

Map:

  •  存储键值对形式的数据 key-value(K-V)
    
  •  key是无序的,不可重复的-->set集合
    
  •  value无序的,可重复的  -->Collection集合
    
  •  一个key只能对应一个value(如果想要value对应多个值可以存储在容器中list)
    
  •  存储多个数据的时候,如果key相同,value会覆盖
    
  • 遍历:
  •  keySet()  返回所有的key
    
  •  values()  返回所有的值
    
  •  entrySet() Set<Map.Entry<K,V>>
    

ollections 操作于容器的工具类
void sort(List) //对 List 容器内的元素排序,按照升序进行排序。
void shuffle(List) //对 List 容器内的元素进行随机排列
void reverse(List) //对 List 容器内的元素进行逆续排列
void fill(List, Object) //用一个特定的对象重写整个 List 容器
int binarySearch(List, Object)//采用折半查找的方法查找特定对象

如何处理HashMap的线程安全问题:
	1.Hashtable
	2.Collections.synchronizedMap(Map) 返回一个线程安全的map容器
	3.juc包下java.util.concurrent 类 ConcurrentHashMap<K,V> 线程安全的容器HashMap容器类==>推荐使用:效率高

多线程:

  • 多个任务同时执行就是多线程,如果不需要多任务,就不需要开启多线程

  • 优点:资源利用率更好;程序设计在某些情况下更简单;程序响应更快

  • 进程:对与操作系统而言就是不同的任务执行,每一个进行都有自己的代码和数据空间,进程之间切换消耗比较大,一个进程中包含一刀多个线程,是资源分配的最小单位

  • 线程:一系列线程共享代码和数据空间,线程之间切换消耗较小,线程是cpu调度的最小单位

  • 三高: 高可用(数据不会出错) 高性能(用户体验度好) 高并发(多用户同时操作抢购)

  • 关注重点:

  •  1.多线程的创建方式
    
  •  	1)继承Thread类 重写run()方法
    
  •  	2)实现Runnable接口,重写run()方法 --推荐
    
  •  	3)实现Callable
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值