接口上加@feignclient还有实现类_Java中Map和Set接口的实现类

今天我们开始学习HashMap的使用以及Set接口实现类的用法.

我们首先学习HashMap 的相关知识点

HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。
HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。

现在我们举一个HashMap的例子,完成HashMap的数据存取功能。

比如我们要存储如下数据:

用户名              密码

zhangsan         123456

lisi                    135246

eb5f5e0e4f3f5ffdbf6369dcd9e47909.png

Set接口
      Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。
      Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不会接受这两个对象。

HashSet与TreeSet都是基于Set接口的实现类。其中TreeSet是Set的子接口SortedSet的实现类。Set接口及其子接口、实现类的结构如下所示:

                |——SortedSet接口——TreeSet实现类

Set接口——|——HashSet实现类                

                |——LinkedHashSet实现类

TreeSet如何存储数据

1、TreeSet()是使用二叉树的原理对新add()的对象按照指定的顺序排序(升序、降序),每增加一个对象都会进行排序,将对象插入的二叉树指定的位置。

2、Integer和String对象都可以进行默认的TreeSet排序,而自定义类的对象是不可以的,自己定义的类必须实现Comparable接口,并且覆写相应的compareTo()函数,才可以正常使用。

3、在覆写compare()函数时,要返回相应的值才能使TreeSet按照一定的规则来排序(升序,this.对象 < 指定对象的条件下返回-1)

HashSet如何存储数据

1、Java中的HashSet是以集合的形式存储元素,元素不允许重复。

2、HashSet需要一个hash函数,它使用hashcode()和equal()方法来添加/获取元素。

3、当调用add()方法的时候,HashSet会计算key的hash值,然后把值存储到集合中的索引上,如果key存在了,value值不同的话,则使用链表方式把值存储起来,JDK1.8以后为了提高性能,当链表长度超过8时,使用红黑树进行存储。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值