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

汕头网站制作公司价格广州百度推广开户

汕头网站制作公司价格,广州百度推广开户,销售类电商网站如何做优化,开发软件开发外包集合框架_HashMap 一、概述 HashMap 是用于存储 Key-Value 键值对的集合。 (1)HashMap 根据键的 hashCode 值存储数据,大多数情况下可以直接定位到它的值,所以具有很快的访问速度,但遍历顺序不确定。 (2&…

集合框架_HashMap

一、概述

HashMap 是用于存储 Key-Value 键值对的集合。
(1)HashMap 根据键的 hashCode 值存储数据,大多数情况下可以直接定位到它的值,所以具有很快的访问速度,但遍历顺序不确定。
(2) HashMap 中键 key 为 null 的记录至多只允许一条,值 value 为 null 的记录可以有多条。
(3) HashMap 非线程安全,即任一时刻允许多个线程同时写 HashMap,可能会导致数据的不一致。

二、特点

HashMap的特点主要有以下几点:

  1. 线程不安全:HashMap不是线程安全的容器,不适用于多线程环境。如果需要在多线程环境下使用Map,可以考虑使用ConcurrentHashMap或者通过加锁等方式来保证线程安全。
  2. 哈希表实现:HashMap使用哈希表(Hash Table)实现,它通过散列函数将键映射到哈希表的索引位置上,从而实现了快速的插入、删除和查找操作。
  3. 元素无序:HashMap并不保证元素的顺序,元素在哈希表中的位置取决于键的哈希值和哈希表的容量。
  4. 键不重复:HashMap中的键是不允许重复的,如果添加一个键值对时发现键已经存在,则会覆盖原有的值。
  5. 可以存放null:HashMap中的键和值都可以存放null,但是需要注意并发情况下的线程安全性。
  6. 性能高效:由于使用了哈希表实现,HashMap的插入、删除和查找操作的时间复杂度都接近常数级别,因此具有高效的性能。

总之,HashMap是一种常用的数据结构,其主要特点是高效、无序、键不重复,但不具备线程安全性。在使用时需要根据具体应用场景进行选择和设计。

三 使用示例

HashMap 类位于 java.util 包中,使用前需要引入它,语法格式如下:

import java.util.HashMap; // 引入 HashMap 类

以下实例我们创建一个 HashMap 对象 Sites, 整型(Integer)的 key 和字符串(String)类型的 value:

HashMap<Integer, String> Sites = new HashMap<Integer, String>();

HashMap常用方法:
1、put(K key, V value): 将键(key)/值(value)映射存放到Map集合中。

2、get(Object key): 返回指定键所映射的值,没有该key对应的值则返回 null。

3、size(): 返回Map集合中数据数量。

4、clear(): 清空Map集合。

5、isEmpty(): 判断Map集合中是否有数据,如果没有则返回true,否则返回false。

6、remove(Object key): 删除Map集合中键为key的数据并返回其所对应value值。

7、values(): 返回Map集合中所有value组成的以Collection数据类型格式数据。

8、containsKey(Object key): 判断集合中是否包含指定键,包含返回 true,否则返回false。

9、containsValue(Object value): 判断集合中是否包含指定值,包含返回 true,否则返回false。

10、keySet(): 返回Map集合中所有key组成的Set集合。

11、entrySet(): 将Map集合每个key-value转换为一个Entry对象并返回由所有的Entry对象组成的Set集合。

1 添加元素

1.1 HashMap 类提供了很多有用的方法,添加键值对(key-value)可以使用 put() 方法:

实例

// 引入 HashMap 类      
import java.util.HashMap;public class worldTest {public static void main(String[] args) {// 创建 HashMap 对象 SitesHashMap<Integer, String> Sites = new HashMap<Integer, String>();// 添加键值对Sites.put(1, "hello");Sites.put(2, "world");Sites.put(3, "hi");Sites.put(4, "china");System.out.println(Sites);}
}

1.2 以下实例创建一个字符串(String)类型的 key 和字符串(String)类型的 value:

实例

// 引入 HashMap 类      
import java.util.HashMap;public class worldTest {public static void main(String[] args) {// 创建 HashMap 对象 SitesHashMap<String, String> Sites = new HashMap<String, String>();// 添加键值对Sites.put("one", "hello");Sites.put("two", "world");Sites.put("three", "hi");Sites.put("four", "china");System.out.println(Sites);}
}

2 访问元素

我们可以使用 get(key) 方法来获取 key 对应的 value:

实例

// 引入 HashMap 类      
import java.util.HashMap;public class worldTest {public static void main(String[] args) {// 创建 HashMap 对象 SitesHashMap<Integer, String> Sites = new HashMap<Integer, String>();// 添加键值对Sites.put(1, "hello");Sites.put(2, "world");Sites.put(3, "hi");Sites.put(4, "china");System.out.println(Sites.get(3));}
}

3 删除元素

3.1 我们可以使用 remove(key) 方法来删除 key 对应的键值对(key-value):

实例

// 引入 HashMap 类      
import java.util.HashMap;public class worldTest {public static void main(String[] args) {// 创建 HashMap 对象 SitesHashMap<Integer, String> Sites = new HashMap<Integer, String>();// 添加键值对Sites.put(1, "hello");Sites.put(2, "world");Sites.put(3, "hi");Sites.put(4, "china");Sites.remove(4);System.out.println(Sites);}
}

3.2 删除所有键值对(key-value)可以使用 clear 方法:

实例

// 引入 HashMap 类      
import java.util.HashMap;public class worldTest {public static void main(String[] args) {// 创建 HashMap 对象 SitesHashMap<Integer, String> Sites = new HashMap<Integer, String>();// 添加键值对Sites.put(1, "hello");Sites.put(2, "world");Sites.put(3, "hi");Sites.put(4, "china");Sites.clear();System.out.println(Sites);}
}

4 计算大小

如果要计算 HashMap 中的元素数量可以使用 size() 方法:

实例

// 引入 HashMap 类      
import java.util.HashMap;public class worldTest {public static void main(String[] args) {// 创建 HashMap 对象 SitesHashMap<Integer, String> Sites = new HashMap<Integer, String>();// 添加键值对Sites.put(1, "hello");Sites.put(2, "world");Sites.put(3, "hi");Sites.put(4, "china");System.out.println(Sites.size());}
}

5 迭代 HashMap

可以使用 for-each 来迭代 HashMap 中的元素。

如果你只想获取 key,可以使用 keySet() 方法,然后可以通过 get(key) 获取对应的 value,如果你只想获取 value,可以使用 values() 方法。

实例

// 引入 HashMap 类      
import java.util.HashMap;public class worldTest {public static void main(String[] args) {// 创建 HashMap 对象 SitesHashMap<Integer, String> Sites = new HashMap<Integer, String>();// 添加键值对Sites.put(1, "hello");Sites.put(2, "world");Sites.put(3, "hi");Sites.put(4, "china");// 输出 key 和 valuefor (Integer i : Sites.keySet()) {System.out.println("key: " + i + " value: " + Sites.get(i));}// 返回所有 value 值for(String value: Sites.values()) {// 输出每一个valueSystem.out.print(value + ", ");}}
}

6 复制一份 hashMap

方法:clone()

实例

public static void main(String[] args) {HashMap<String, String> map = new HashMap<>();map.put("A","1");map.put("B","2");map.put("C","3");Object clone = map.clone();System.out.println("原来的"+map);System.out.println("复制一份"+clone);
}

7 判断 hashMap 是否为空

方法:isEmpty()

实例

public static void main(String[] args) {HashMap<String, String> map = new HashMap<>();HashMap<String, String> map1 = new HashMap<>();map.put("A","1");map.put("B","2");map.put("C","3");boolean empty1 = map.isEmpty();boolean empty2 = map1.isEmpty();System.out.println(empty1);System.out.println(empty2);
}

8 替换 hashMap 中是指定的 key 对应的 value

方法:replace()

实例

public static void main(String[] args) {HashMap<String, String> map = new HashMap<>();HashMap<String, String> map1 = new HashMap<>();map.put("A","1");map.put("B","2");map.put("C","3");System.out.println("替换前----"+map);map.replace("A", "100");System.out.println("替换后----"+map);
}
http://www.tj-hxxt.cn/news/32086.html

相关文章:

  • 沈阳做网站建设百度客户端电脑版下载
  • 武汉最好的网站建设公司网站优化排名提升
  • 怎么做微帮网站长沙网站建站模板
  • 网站开发毕设结论百度新闻最新消息
  • 网站集约化建设讲话网页设计首页制作
  • b2b2c网站开发相关搜索优化软件
  • 自己做团购网站怎么样seo网络推广优势
  • 嘉兴seo网站排名优化网站注册页面
  • 网站建设流程案例公司网站建设北京
  • 济南网站建设bajiujiu女教师遭网课入侵视频大全集
  • 开通网站后唐山seo排名外包
  • 做三级分销网站佛山网站建设模板
  • 北京互联网网站建设chrome google
  • 企业官方网站建设如何青岛网站排名提升
  • 莆田有哪几家做网站设计的舆情信息
  • 公司网站设计免费sem工具
  • 温州网站建设推广服务如何提升关键词的自然排名
  • 万网网站后台留言在哪网站代发外链
  • 手机网站特效代码长春网站建设方案报价
  • 做网站用的大图个人如何注册网站
  • 网站开发与设计试题seo管理系统培训运营
  • 建设网站中心百度指数查询工具app
  • 17做网店这个网站好不好游戏推广代理
  • 找公司做网站有什么好处合肥百度快速排名提升
  • 投诉做网站的电话汕头企业网络推广
  • 网站开发怎么配合百度网站免费优化软件下载
  • 嘉兴网站制作公司搜索引擎seo如何赚钱
  • jquery 苹果网站视频营销
  • 苏州网站建设n苏州网站建设公司重庆网站优化排名推广
  • 网站建设mfdos 优帮云广州头条今日头条新闻