【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
相关推荐
天若有情67313 分钟前
程序员原创|借鉴JS事件冒泡,根治电脑文件混乱的“冒泡整理法”
开发语言·javascript·windows·ecmascript·电脑·办公·日常
qq_5895681017 分钟前
springbootweb案例,出现访问 http://localhost:8080/list 一直处于浏览器运转阶段
java·网络协议·http·list·springboot
JAVA面经实录9171 小时前
计算机基础(完整版·超详细可背诵)
java·linux·数据结构·算法
特种加菲猫1 小时前
继承,一场跨越时空的对话
开发语言·c++
AC赳赳老秦1 小时前
知识产权辅助:用 OpenClaw 批量生成专利交底书 / 软著申请材料,自动校验格式与内容合规性
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
FYKJ_20102 小时前
springboot校园兼职平台--附源码02041
java·javascript·spring boot·python·eclipse·django·php
玩转单片机与嵌入式2 小时前
玩转边缘AI(TInyML):需要掌握的C++知识汇总!
开发语言·c++·人工智能
茉莉玫瑰花茶3 小时前
Qt 信号与槽 [ 1 ]
开发语言·数据库·qt
书源丶3 小时前
三十六、File 类与 IO 流基础——文件操作的「第一步」
java