【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
相关推荐
Chris _data几秒前
二叉树oj题解析
java·数据结构
牙牙7056 分钟前
Centos7安装Jenkins脚本一键部署
java·servlet·jenkins
时光の尘13 分钟前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
paopaokaka_luck14 分钟前
[371]基于springboot的高校实习管理系统
java·spring boot·后端
以后不吃煲仔饭26 分钟前
Java基础夯实——2.7 线程上下文切换
java·开发语言
进阶的架构师27 分钟前
2024年Java面试题及答案整理(1000+面试题附答案解析)
java·开发语言
前端拾光者31 分钟前
利用D3.js实现数据可视化的简单示例
开发语言·javascript·信息可视化
The_Ticker33 分钟前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
程序猿阿伟33 分钟前
《C++ 实现区块链:区块时间戳的存储与验证机制解析》
开发语言·c++·区块链
傻啦嘿哟1 小时前
如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
开发语言·python·excel