当前位置: 首页 > article >正文

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

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.kler.cn/news/355095.html

相关文章:

  • Python 使用 Jarvis 算法或包装的凸包(Convex Hull using Jarvis’ Algorithm or Wrapping)
  • Unknown column ‘oMIbw5H29LXtmAUjSSm7ZrymASUI‘ in ‘where clause‘
  • 前端技巧汇总
  • 驱动总裁免登陆单文件版
  • 网页前端开发之HTML入门篇:标题标签 heading
  • Leetcode 1223 LCA of Deepest TreeNode
  • 带头结点的单链表按数据域从小到大进行选择排序的算法
  • 生成器和迭代器
  • Mysql 5.7 安装与卸载(非常详细)
  • 【原创】java+springboot+mysql智能农村管理系统设计与实现
  • OpenUAV:首个专为现实无人机视觉语言导航设计的大规模轨迹数据集,由大约 12k 个轨迹组成,涵盖了多种环境和复杂的飞行动态。
  • laravel清除不同缓存
  • 疾病防控|基于springBoot的疾病防控综合系统设计与实现(附项目源码+论文+数据库)
  • 海康相机
  • 通信学习干货:运营商为什么要大力推广FTTR?
  • 2. 继承Mono的单例模式基类
  • 一文搞懂模型倍率怎么计算的,以及模型分组倍率原理!
  • Java | Leetcode Java题解之第480题滑动窗口中位数
  • 决策树C4.5算法详解及实现
  • openEuler-22.03-SP4离线编译安装ZLMediaKit