JAVA常用集合与工具类

1.Math工具类

Math.sqrt() : 计算平方根
Math.cbrt() : 计算立方根
Math.pow(a, b) : 计算a的b次方
Math.max( a, b ) : 计算最大值
Math.min( a, b ) : 计算最小值
Math.abs() : 取绝对值

Math.ceil(): 天花板的意思,就是逢余进一
Math.floor() : 地板的意思,就是逢余舍一
Math.rint(): 四舍五入,返回double值。注意.5的时候会取偶数
Math.round(): 四舍五入,float时返回int值,double时返回long值

Math.random(): 取得一个[0, 1)范围内的随机数

2.Arrays工具类

Arrays.toString(a)		//转成字符串

Arrays.sort(a)			//排序
Arrays.sort(Object[] array, int from, int to)	//指定数组,从下标from开始,到to结束

Arrays.equals(a,b)		//比较一维数组
Arrays.deepEquals(a,b)	//比较多维数组

Arrays.fill(Object[] array,Object object)	//功能:可以为数组元素填充相同的值
Arrays.fill(Object[] array,int from,int to,Object object)	//功能:对数组的部分元素填充一个值,从起始位置到结束位置,取头不取尾

Arrays.asList 	//转成List
Arrays.copyOfRange(原数组,开始下标,结束下标):对已有的数组进行截取复制,复制出一个左闭右开的数组

3.String 字符串

String
StringBuffer
StringBuilder

4.包装类

https://blog.csdn.net/qq_44715943/article/details/116331282?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164724221216780264044377%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164724221216780264044377&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-116331282.es_vector_control_group&utm_term=java%E5%8C%85%E8%A3%85%E7%B1%BB&spm=1018.2226.3001.4187
三大集合
Collection接口
├——-List 接口:元素按进入先后有序保存,可重复
│—————-├ LinkedList 接口实现类, 链表, 插入删除, 没有同步, 线程不安全
│—————-├ ArrayList 接口实现类, 数组, 随机访问, 没有同步, 线程不安全
│—————-└ Vector 接口实现类 数组, 同步, 线程安全
│ ———————-└ Stack 是Vector类的实现类
└——-Set 接口: 仅接收一次,不可重复,并做内部排序
├—————-└HashSet 使用hash表(数组)存储元素
│————————└ LinkedHashSet 链表维护元素的插入次序
└ —————-TreeSet 底层实现为二叉树,元素排好序

Map 接口 键值对的集合 (双列集合)(map没有继承collection)
├———Hashtable 接口实现类, 同步, 线程安全
├———HashMap 接口实现类 ,没有同步, 线程不安全-
│—————–├ LinkedHashMap 双向链表和哈希表实现
│—————–└ WeakHashMap
├ ——–TreeMap 红黑树对所有的key进行排序
└———IdentifyHashMap

5.List

ArrayList和LinkList

常用用法:

A:添加功能
boolean add(E e):向集合中添加一个元素
void add(int index, E element):在指定位置添加元素
boolean addAll(Collection<? extends E> c):向集合中添加一个集合的元素。
    
B:删除功能
void clear():删除集合中的所有元素
E remove(int index):根据指定索引删除元素,并把删除的元素返回
boolean remove(Object o):从集合中删除指定的元素
boolean removeAll(Collection<?> c):从集合中删除一个指定的集合元素。
 
C:修改功能
E set(int index, E element):把指定索引位置的元素修改为指定的值,返回修改前的值。
 
D:获取功能
E get(int index):获取指定位置的元素
Iterator iterator():就是用来获取集合中每一个元素。
 
E:判断功能
boolean isEmpty():判断集合是否为空。
boolean contains(Object o):判断集合中是否存在指定的元素。
boolean containsAll(Collection<?> c):判断集合中是否存在指定的一个集合中的元素。
 
F:长度功能
int size():获取集合中的元素个数
 
G:把集合转换成数组
Object[] toArray():把集合变成数组。

6.Set

HashSet和TreeSet,存放的数据不可重复

常用用法:
add()	//添加
clear()	//清除所有
contains()	
isEmpty()	
iterator()
remove()	//删除
size()

7.Map

Hashmap和Treemap

Map基本操作:

map.size()	//长度
map.put(key,value)  //添加key和value,如果key存在,则覆盖原有的value
map.remove(key) //删除key和key对应的value
map.get(key)	//获取key所对应的value
map.getOrDefault(key,自定义值)	//若表中存在key,则返回对应的value,不存在,则返回自定义值
map.getOrDefault("aa",-1)//key=aa不存在,所以返回默认value -1
map.containsKey("aa")	//判断key是否存在
map.containsValue(1)	//判断value是否存在
map.replace(key,value)	//若表中存在key,则替换,若不存在,则不操作

8.Stack

Stack<类型> stack =new Stack<类型>()
基本操作:
push( num) //入栈
pop() //栈顶元素出栈
empty() //判定栈是否为空
peek() //获取栈顶元素
search(num) //判端元素num是否在栈中,如果在返回1,不在返回-1。

9.Queue

add			增加一个元素      如果队列已满,则抛出一个IllegalSlabEepeplian异常
remove		移除并返回队列头部的元素    如果队列为空,则抛出一个NoSuchElementException异常
element  	返回队列头部的元素             如果队列为空,则抛出一个NoSuchElementException异常
offer       添加一个元素并返回true       如果队列已满,则返回false
poll        移除并返问队列头部的元素    如果队列为空,则返回null
peek        返回队列头部的元素             如果队列为空,则返回null
put         添加一个元素                      如果队列满,则阻塞
take        移除并返回队列头部的元素     如果队列为空,则阻塞
https://blog.csdn.net/zhangqunshuai/article/details/80660974?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164724423616780271978581%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164724423616780271978581&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-3-80660974.es_vector_control_group&utm_term=java%E9%9B%86%E5%90%88&spm=1018.2226.3001.4187
https://blog.csdn.net/feiyanaffection/article/details/81394745?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164724423616780271978581%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164724423616780271978581&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-81394745.es_vector_control_group&utm_term=java%E9%9B%86%E5%90%88&spm=1018.2226.3001.4187
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值