龙空技术网

大数据开发基础之JAVA基础集合二

BtcRats 66

前言:

而今看官们对“用友java笔试题”可能比较珍视,朋友们都需要知道一些“用友java笔试题”的相关内容。那么小编在网络上汇集了一些关于“用友java笔试题””的相关知识,希望咱们能喜欢,兄弟们一起来了解一下吧!

上一期我们讲得大数据开发基础之JAVA基础集合一,今天就继续为大家带来大数据开发基础之JAVA集合二,这一期会主要细化的讲上一期所没有讲到的内容,会着重以例子的方式来给大家介绍相关知识,以便于能够更直观、更准确的了解知识。(有忘记上一期的,点开主页就可以看到了)

一、Map

Map用于保存具有映射关系的数据,Map里保存着两组数据:key和value,它们都可以使任何引用类型的数据,但key不能重复。所以通过指定的key就可以取出对应的value。

1、严格来说 Map 并不是一个集合,而是两个集合之间 的映射关系。

2、这两个集合没每一条数据通过映射关系,我们可以看成是一条数据。即 Entry(key,value)。Map 可以看成是由多个 Entry 组成。

3、因为 Map 集合即没有实现于 Collection 接口,也没有实现 Iterable 接口,所以不能对 Map 集合进行 for-each 遍历。

在此也再给大家复习一下Map接口

Map 接口 键值对的集合 (双列集合)

Hashtable 接口实现类, 同步, 线程安全

HashMap 接口实现类 ,没有同步, 线程不安全-

LinkedHashMap 双向链表和哈希表实现

WeakHashMap

TreeMap 红黑树对所有的key进行排序

IdentifyHashMap

二、与其他接口的关系

(1)Map 和 Set 集合的关系

1、都有几个类型的集合。HashMap 和 HashSet ,都采 哈希表算法;TreeMap 和 TreeSet 都采用 红-黑树算法;LinkedHashMap 和 LinkedHashSet 都采用 哈希表算法和红-黑树算法。

2、分析 Set 的底层源码,我们可以看到,Set 集合 就是 由 Map 集合的 Key 组成。

三、Hashmap

就先来说说Hashmap。HashMap其实 是一个散列表,它存储的内容是键值对(key-value)映射。说到HashMap,那么就顺带介绍HashTable,并将两者两者进行比对,这样解释起来也更容易理解。HashMap和Hashtable都是Map接口的经典实现类,它们之间的关系完全类似于之前介绍的ArrayList和Vector的关系。由于Hashtable是个古老的Map实现类,需要方法比较繁琐,不符合Map接口的规范。Hashmap性能要比HashTable好,hashmap可以让你将空值作为一个表的条目的Key或Value,但是Hashtable是不能放入空值的,Hashmap最多只有一个key值为null,但可以有无数多个Value值为null。

四、Hashmap的工作原理

使用put(key, value)存储对象到HashMap中;

使用get(key)从HashMap中获取对象。

当给put()方法传递键和值时,先对键调用hashCode()方法,返回的hashCode用于找到bucket位置来储存Entry对象

(HashMap中的数据结构是数组+单链表的组合,以键值对(key-value)的形式存储元素的,通过put()和get()方法储存和获取对象)

五、HashMap遍历方式

1.遍历HashMap的键值对

第一步:根据entrySet()获取HashMap的“键值对”的Set集合。

第二步:通过Iterator迭代器遍历“第一步”得到的集合。

2.遍历HashMap的键

第一步:根据keySet()获取HashMap的“键”的Set集合。

第二步:通过Iterator迭代器遍历“第一步”得到的集合。

3.遍历HashMap的值

第一步:根据value()获取HashMap的“值”的集合。

第二步:通过Iterator迭代器遍历“第一步”得到的集合。

以上就是大数据开发基础之JAVA基础集合二的内容了,本期主要讲到的是JAVA map集合的知识,因为Map涉及的知识比较多,所以大部分就留到了第二期来讲,希望大家能把上篇文章和本篇文章结合起来看,这样才能更好的理解集合,希望大家能有所收获,记得点个关注随时收看最新文章哦。

标签: #用友java笔试题