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

news2024/10/19 1:22:13

HashMap类

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

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

1.添加元素:put()

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

2.访问元素:get()

// map1 : {1=a,2=b}
map1.get(1);				// a
map1.get(2);				// b    

3.删除元素:remove()

// map1 : {1=a,2=b}
map1.remove(2);				// {1=a}
map1.remove(1);				// {}

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

// map1 : {1=a,2=b}
map1.clear();				// {}

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

// map1 : {1=a,2=b}
map1.size();				// 2

6.迭代集合中的元素

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

7.复制一份 hashMap:clone()

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

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

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

map.isEmpty();					// true OR false

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

// map1 : {1=a,2=b}  
map2.putAll(map1);				// map2 : {1=a,2=b}

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

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

// 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()

// map1 : {1=a,2=b}
map1.containsKey(1);				// true
map1.containsKey(3)					// false

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

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

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

// 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()

// map1 : {1=a,2=b}
map1.getOrDefault(1,"-1");			   // a
map1.getOrDefault(3,"-1");			   // -1

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

// map1 : {1=a,2=b}
map1.entrySet();						// [1=a,2=b]

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

// map1 : {1=a,2=b}
map1.setKey();							// [1,2]

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

// map1 : {1=a,2=b}
map1.values();							// [a,b]

HashSet类

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

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()

set.add("a");			// [a]
set.add("b");			// [a,b]
set.add("a");			// [a,b]

2.删除元素:remove()

// set:[a,b]
set.remove("b");		// [a]
set.remove("a");		// []

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

// set:[a,b]
set.contains("a");		// true
set.contains("c");		// false

4.清空集合:clear()

// set:[a,b]
set.clear();			// []

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

// set:[a,b]
set.size();				// 2

6.迭代集合中的元素

for(String str : set){
    ......
}

Math类

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

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

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

Math.abs(-1);	// 1
Math.abs(1);	// 1
Math.abs(-1.1)	// 1.1

2.向上取整:ceil()

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()

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()

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()

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()

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()

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()

Math.exp(11);			// e^11 : 59874.14171519782

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

Math.log(11);			// 2.3978952727983707
Math.log(Math.E);		// 1.0

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

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()

Math.sqrt(4);			// 2.0
Math.sqrt(0);			// 0.0
Math.sqrt(-1);			// NaN

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

// 随机数范围为 0.0 =< Math.random < 1.0
Math.random()			// 0.14075030148839085

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2218138.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024第七届全国大学生数学竞赛暨数学精英挑战赛第二场,第一场获奖名单已公布

第七届全国大学生数学竞赛暨数学精英挑战赛&#xff08;原网络挑战赛&#xff09;由浙江应用数学研究会组织举办。自2018年起已经连续举办6届&#xff0c;吸引来自全国900余所高校选手参赛&#xff0c;近三年累计参赛人数1.5万人。2024年&#xff0c;第七届全国大学生数学竞赛暨…

力扣MySQL 1581

先把两张表连接&#xff0c;amount为null 的正是我们需要的&#xff0c;再按customer_id聚合 select Visits.visit_id,customer_id ,Transactions.visit_id ,transaction_id ,amount from Visits left join Transactions on Visits.visit_idTransactions.visit_id 正确代码&…

银河麒麟V10系统+Windows10双系统启动顺序正确修改方法

***正确可行方法***&#xff0c;测试OK且稳定&#xff1b; 银河麒麟桌面操作系统V10是一款适配国产软硬件平台并深入优化和创新的新一代图形化桌面操作系统&#xff0c;同源支持国内外主流处理器架构&#xff0c;并不断使能GPU、桥片、网卡等各种新硬件&#xff0c;提供更优的软…

Electron+Vue实现两种方式的截屏功能

本次介绍的截屏功能一共有两种分别是在electron环境中与非electron环境中 非electron环境 这个环境下会有一些限制&#xff1a; 1.只能截浏览器中的画面 2.如果里面有iframe或者base64的图片会加载不出来&#xff08;这个会有解决办法&#xff09; yarn add -D js-web-scree…

Vue详细入门(语法【三】)

今天滴的学习目标&#xff01;&#xff01;&#xff01; Vue组件是什么&#xff1f;组件的特性和优势Vue3计算属性Vue3监听属性 在前面Vue详细入门&#xff08;语法【一】——【二】&#xff09;当中我们学习了Vue有哪些指令&#xff0c;它的核心语法有哪些&#xff1f;今天我们…

大模型学习方法之——大模型技术学习路线,小白也能学会大模型

技术学习无非涵盖三个方面&#xff0c;理论&#xff0c;实践和应用 大模型技术爆火至今已经有两年的时间了&#xff0c;而且大模型技术的发展潜力也不言而喻。因此&#xff0c;很多人打算学习大模型&#xff0c;但又不知道该怎么入手&#xff0c;因此今天就来了解一下大模型的…

java-uniapp小程序-引导关注公众号、判断用户是否关注公众号

目录 1、前期准备 公众号和小程序相互关联 准备公众号文章 注册公众号测试号 微信静默授权的独立html 文件 2&#xff1a; 小程序代码 webview页面代码 小程序首页代码 3&#xff1a;后端代码 1&#xff1a;增加公众号配置项 2&#xff1a;读取公众号配置项 3&…

【学习笔记】什么是MongoDB

文章目录 MongoDB 简介体系结构数据模型MongoDB 的特点 MongoDB 简介 学习一个东西就跟认识一个人一样&#xff0c;下面有情MongoDB来做个自我介绍 大家好&#xff0c;俺是MongoDB&#xff0c;是一个开源、高性能、无模式的文档型数据库&#xff0c;当初的设计俺就是用于简化开…

学习笔记(202410)

课程&#xff1a;Generative AI for Software Development 链接&#xff1a;吴恩达同步最新AI专业课&#xff0c;第54讲&#xff1a;用人工智能做软件开发--Generative AI for Software Development_哔哩哔哩_bilibili 时间&#xff1a;2024-10-12 至 概述&#xff1a;使用C…

强化学习与深度强化学习:深入解析与代码实现

个人主页&#xff1a;chian-ocean 文章专栏 强化学习与深度强化学习&#xff1a;深入解析与代码实现 强化学习&#xff08;Reinforcement Learning, RL&#xff09;是一种机器学习方法&#xff0c;通过智能体&#xff08;agent&#xff09;与环境&#xff08;environment&am…

【Linux】Linux常见指令及权限理解

1.ls指令 语法 &#xff1a; ls [ 选项 ][ 目录或文件 ] 功能 &#xff1a;对于目录&#xff0c;该命令列出该目录下的所有子目录与文件。对于文件&#xff0c;将列出文件名以及其他信息。 常用选项&#xff1a; -a 列出目录下的所有文件&#xff0c;包括以 . 开头的隐含文…

无人机视角下火灾检测数据集 共12736张 标注文件为YOLO适用的txt格式。已划分为训练集、验证集、测试集。类别:Fire yolov5-v10通用

无人机视角下火灾检测数据集 共12736张 标注文件为YOLO适用的txt格式。已划分为训练集、验证集、测试集。类别&#xff1a;Fire yolov5-v10通用 无人机视角下火灾检测数据集 共12736张 标注文件为YOLO适用的txt格式。已划分为训练集、验证集、测试集。类别&#xff1a;Fire yol…

【Vue】Vue3.0(十)toRefs()和toRef()的区别及使用示例

上篇文章&#xff1a;Vue】Vue&#xff08;九&#xff09;OptionsAPI与CompositionAPI的区别 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Vue专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年10月15日11点13分 文章目录 toRefs()和toRe…

基于朴素贝叶斯的中文垃圾短信分类(含ui界面)

完整代码如下 基于朴素贝叶斯的中文垃圾短信分类、垃圾邮件分类。 可用于机器学习课程设计等。 import warnings warnings.filterwarnings(ignore) import os os.environ["HDF5_USE_FILE_LOCKING"] "FALSE" import pandas as pd import numpy as np fro…

LeetCode1004.最大连续1的个数

题目链接&#xff1a;1004. 最大连续1的个数 III - 力扣&#xff08;LeetCode&#xff09; 1.常规解法&#xff08;会超时&#xff09; 遍历数组&#xff0c;当元素是1时个数加一&#xff0c;当元素是0时且已有的0的个数不超过题目限制时&#xff0c;个数加一&#xff0c;若上…

重生之我爱上了k8s!

内容不全&#xff0c;待补充中...... 目录 一、k8s的部署 1.1.集群环境初始化 1.1.1.所有主机禁用swap 1.1.2.安装k8s部署工具 1.1.2.所有节点安装cri-docker 1.1.3.在master节点拉取K8S所需镜像 1.1.4.集群初始化 1.1.5.其他两台主机加入集群 1.1.6.安装flannel网络…

微积分复习笔记 Calculus Volume 1 - 2.5 Precise Definition of a Limit

2.5 The Precise Definition of a Limit - Calculus Volume 1 | OpenStax

Python基础——类与对象

类与对象的理解&#xff1a; 在程序中我们将类看作是设计图纸&#xff0c;对象则是根据这个图纸生产的产品。面向对象编程就是使用对象编程&#xff0c;在类中我们定义成员属性和方法。 来看下面这个例子&#xff0c;创建student类&#xff0c;定义对象并对属性赋值。 class S…

Golang | Leetcode Golang题解之第480题滑动窗口中位数

题目&#xff1a; 题解&#xff1a; type hp struct {sort.IntSlicesize int } func (h *hp) Push(v interface{}) { h.IntSlice append(h.IntSlice, v.(int)) } func (h *hp) Pop() interface{} { a : h.IntSlice; v : a[len(a)-1]; h.IntSlice a[:len(a)-1]; return v }…

十大云手机排行榜:哪个云手机更好用?

近些年&#xff0c;市场上涌现出许多云手机产品&#xff0c;不同产品适合的应用场景也各不相同。在选用云手机之前&#xff0c;企业和个人用户需要了解它们的功能、特点以及适用的场景。本文将对当前主流的云手机进行对比&#xff0c;帮助大家挑选出最适合的云手机产品。 1. 红…