【Java基础】常用类方法记录

HashMap类

HashMap 是一个散列表,它存储的内容是键值对(key-value)映射

java 复制代码
import java.util.HashMap; // 引入 HashMap 类
// 创建HashMap对象
HashMap<Integer, String> map1 = new HashMap<Integer, String>();		// 键、值类型可不同
HashMap<Integer, Integer> map2 = new HashMap<Integer, Integer>();	// 键、值类型可相同

1.添加元素:put()

java 复制代码
HashMap<Integer, String> map1 = new HashMap<Integer, String>();
map1.put(1,"a");			// {1=a}
map1.put(2,"b");			// {1=a,2=b}

2.访问元素:get()

java 复制代码
// map1 : {1=a,2=b}
map1.get(1);				// a
map1.get(2);				// b    

3.删除元素:remove()

java 复制代码
// map1 : {1=a,2=b}
map1.remove(2);				// {1=a}
map1.remove(1);				// {}

4.清空所有键/值对:clear()

java 复制代码
// map1 : {1=a,2=b}
map1.clear();				// {}

5.计算键/值对的数量:size()

java 复制代码
// map1 : {1=a,2=b}
map1.size();				// 2

6.迭代集合中的元素

java 复制代码
// 迭代key
for(Integer key : map1.keySet()){
    .......
}
// 迭代value值
for(String value : map1.values()){
    .......
}

7.复制一份 hashMap:clone()

java 复制代码
// map1 : {1=a,2=b}
HashMap<Integer, String> map2 = (HashMap<Integer, String>)map1.clone();
// map2 : {1=a,2=b}

clone() 方法属于浅拷贝,只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存, 所以如果其中一个对象改变了这个地址,就会影响到另一个对象。

8.判断hashMap是否为空:isEmpty()

java 复制代码
map.isEmpty();					// true OR false

9.批量添加元素:putAll()

java 复制代码
// map1 : {1=a,2=b}  
map2.putAll(map1);				// map2 : {1=a,2=b}

10.插入不存在元素:putIfAbsent()

putIfAbsent() 方法会先判断指定的键(key)是否存在,不存在则将键/值对插入到 HashMap 中。

java 复制代码
// map1 : {1=a,2=b}
map1.putIfAbsent(1,"c");			// map1 : {1=a,2=b}
map1.putIfAbsent(3,"a");			// map1 : {1=a,2=b,3=a}

11.检查是否存在指定的 key 对应的映射关系:containsKey()

java 复制代码
// map1 : {1=a,2=b}
map1.containsKey(1);				// true
map1.containsKey(3)					// false

12.检查是否存在指定的 value 对应的映射关系:containsValue()

java 复制代码
// map1 : {1=a,2=b}
map1.containsValue("a");				// true
map1.containsValue("c")					// false

13.替换指定的 key 对应的 value:replace()

java 复制代码
// map1 : {1=a,2=b}
map1.replace(1,"c");					// true  | map1 : {1=c,2=b}
map1.replace(1,"a","d");				// false | map1 : {1=c,2=b}
map1.replace(1,"c","d");				// true  | map1 : {1=d,2=b}

14.获取返回指定 key 对应对 value,如无则返回默认值:getOrDefault()

java 复制代码
// map1 : {1=a,2=b}
map1.getOrDefault(1,"-1");			   // a
map1.getOrDefault(3,"-1");			   // -1

15.返回映射中包含的映射的 Set 视图:entrySet()

java 复制代码
// map1 : {1=a,2=b}
map1.entrySet();						// [1=a,2=b]

16.返回映射中所有 key 组成的 Set 视图:setKey()

java 复制代码
// map1 : {1=a,2=b}
map1.setKey();							// [1,2]

17.返回 hashMap 中存在的所有 value 值:values()

java 复制代码
// map1 : {1=a,2=b}
map1.values();							// [a,b]

HashSet类

HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合

java 复制代码
import java.util.HashSet; // 引入 HashSet 类
// 创建HashSet对象
HashSet<Object> objectSet = new HashSet<Object>();
HashSet<String> stringSet = new HashSet<String>();
HashSet<Integer> integerSet = new HashSet<Integer>();

1.添加元素:add()

java 复制代码
set.add("a");			// [a]
set.add("b");			// [a,b]
set.add("a");			// [a,b]

2.删除元素:remove()

java 复制代码
// set:[a,b]
set.remove("b");		// [a]
set.remove("a");		// []

3.判断元素是否存在:contains()

java 复制代码
// set:[a,b]
set.contains("a");		// true
set.contains("c");		// false

4.清空集合:clear()

java 复制代码
// set:[a,b]
set.clear();			// []

5.计算集合数量:size()

java 复制代码
// set:[a,b]
set.size();				// 2

6.迭代集合中的元素

java 复制代码
for(String str : set){
    ......
}

Math类

Java 的 Math 包含了用于执行基本数学运算的属性和方法

Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用

1.返回参数的绝对值:abs()

java 复制代码
Math.abs(-1);	// 1
Math.abs(1);	// 1
Math.abs(-1.1)	// 1.1

2.向上取整:ceil()

java 复制代码
Math.ceil(100.12345);	// 101.0
Math.ceil(100.72345);	// 101.0
Math.ceil(-90.1);		// -90.0
Math.ceil(-70);			// -70.0

3.向下取整:floor()

java 复制代码
Math.ceil(100.12345);	// 100.0
Math.ceil(100.72345);	// 100.0
Math.ceil(-90.1);		// -91.0
Math.ceil(-70);			// -70.0

4.返回最接近参数的整数值:rint()

java 复制代码
Math.rint(100.12345);	// 100.0
Math.rint(100.72345);	// 101.0
Math.rint(-90.1);		// -90.0
Math.rint(-70);			// -70.0

// 需要注意的是,与四舍五入不同,当小数位为5时,它会选择优先选择为偶数的结果
Math.rint(100.5);		// 100.0
Math.rint(101.5);		// 102.0
Math.rint(-90.5);		// -90.0
Math.rint(-91.5);		// -92.0

5.四舍五入:round()

java 复制代码
Math.round(100.12345);	// 100
Math.round(100.72345);	// 101
Math.round(-90.1);		// -90
Math.round(-90.7);		// -91

Math.round(100.5);		// 101
Math.round(101.5);		// 102
Math.round(-90.5);		// -90
Math.round(-91.5);		// -91

6.返回两数中的最小值:min()

java 复制代码
Math.min(1,2);			// 1
Math.min(-1,-2);		// -2
Math.min(1.1,2.2);		// 1.1
Math.min(0,-2);			// -2

7.返回两数中的最小值:max()

java 复制代码
Math.max(1,2);			// 2
Math.max(-1,-2);		// -1
Math.max(1.1,2.2);		// 2.2
Math.max(0,-2);			// 0

8.返回自然数底数e的参数次方:exp()

java 复制代码
Math.exp(11);			// e^11 : 59874.14171519782

9.返回参数的自然数底数e的对数值:log()

java 复制代码
Math.log(11);			// 2.3978952727983707
Math.log(Math.E);		// 1.0

10.返回第一个参数的第二个参数次方:pow()

java 复制代码
Math.pow(Math.E,11);	// e^11 : 59874.14171519778
Math.pow(2,2);			// 2^2 : 4.0
Math.pow(-1,2);			// -5^2 : 1.0

11.求参数的算术平方根:sqrt()

java 复制代码
Math.sqrt(4);			// 2.0
Math.sqrt(0);			// 0.0
Math.sqrt(-1);			// NaN

12.返回一个随机数:random()

java 复制代码
// 随机数范围为 0.0 =< Math.random < 1.0
Math.random()			// 0.14075030148839085
相关推荐
牛奔6 小时前
Go 如何打印调试深层或嵌套的结构体
开发语言·后端·golang
geovindu6 小时前
go: Iterative Algorithms
开发语言·后端·算法·golang·迭代算法
学逆向的6 小时前
汇编——JCC指令
开发语言·汇编·网络安全
mayaairi7 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
前端工作日常8 小时前
我学习到的Java中domain和dto区别
java·后端
kite01218 小时前
Go语言Map深度解析与最佳实践
开发语言·后端·golang
码农学院8 小时前
基于Spring Boot的跨境电商多语言订单管理系统架构设计
java·大数据·spring boot
技术小结-李爽9 小时前
【工具】pom文件的<packaging>
java·maven
l156469489 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
charlie11451419110 小时前
现代C++工程实践 WeakPtr 实战(三):WeakPtrFactory 与「最后成员」惯用法
开发语言·c++·开源项目·现代c++