线程

MAP
	存储键值对形式的数据 key-value(K-V)
	key是无序的,不可重复的set集合
	value无序的,可重复的  Collection集合
	一个key只能对应一个value(如果想要value对应多个值可以存储在容器中list)
	存储多个数据的时候,如果key相同,value会覆盖
	遍历:
		keySet()  返回所有的key
		values()  返回所有的值
		entrySet() Set<Map.Entry<K,V>>
	HashMap
		底层是由哈希表实现的
		hashmap去重-->根据key去重,自定义引用数据类型数据:hashCode()和equals()
	TreeMap
		底层是由红黑树实现的
		TreeMap去重-->根据key去重,自定义引用数据类型数据:内部|外部比较器
		选择:如果想要根据key做某种规则的排序选择TreeMap,否则选择HashMap
Collections
	void sort(List) 对 List 容器内的元素排序,按照升序进行排序。
	void shuffle(List) 对 List 容器内的元素进行随机排列
	void reverse(List) 对 List 容器内的元素进行逆续排列
	void fill(List, Object) 用一个特定的对象重写整个 List 容器
	int binarySearch(List, Object)采用折半查找的方法查找特定对象
线程
	Collections.synchronizedMap(Map) 返回一个线程安全的map容器
	juc包下java.util.concurrent 类 ConcurrentHashMap<K,V> 线程安全的容器HashMap容器类
	多线程
		多个任务同时执行就是多线程,如果不需要多任务,就不需要开启多线程
			优点:资源利用率更好;程序设计在某些情况下更简单;程序响应更快
		进程:对与操作系统而言就是不同的任务执行,每一个进行都有自己的代码和数据空间,进程之间切换消耗比较大,一个进程中包含一刀多个线程,是资源分配的最小单位
		线程:一系列线程共享代码和数据空间,线程之间切换消耗较小,线程是cpu调度的最小单位
		多线程的创建方式
			继承Thread类 重写run()方法
			 实现Runnable接口,重写run()方法 --推荐
			实现Callable接口,重写call()方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值