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

做网站项目团队口号电商培训机构哪家强

做网站项目团队口号,电商培训机构哪家强,分类目录网站平台,网站后台管理怎么做友情链接我救自己万万次,铮铮劲草,绝不动摇 —— 24.6.2 一、Set集合介绍 Set和Map密切相关的 Map的遍历需要先变成单列集合,只能变成set集合 二、HashSet集合的介绍和使用 1.概述 HashSet是Set接口的实现类 2.特点 a、元素唯一 b、元素无序 c、无索引…

我救自己万万次,铮铮劲草,绝不动摇

                                                        —— 24.6.2

一、Set集合介绍

Set和Map密切相关的
Map的遍历需要先变成单列集合,只能变成set集合

二、HashSet集合的介绍和使用

1.概述

        HashSet是Set接口的实现类

2.特点

        a、元素唯一

        b、元素无序

        c、无索引

        d、线程不安全

3.数据结构:哈希表

        a、jdk8之前:哈希表 = 数组 + 链表

        b、jdk8之后:哈希表 = 数组 + 链表 + 红黑树

                加入红黑树的目的:查询速度快

4.方法

        和collection一样

5.遍历

        a、增强for

        b、迭代器

package S87Set;import java.util.HashSet;
import java.util.Iterator;public class Demo241HashSet {public static void main(String[] args) {HashSet<String> set = new HashSet<>();set.add("张三");set.add("李四");set.add("王五");set.add("赵六");set.add("田七");// 读取顺序无序System.out.println(set);// 遍历 增强forfor (String s : set) {System.out.println(s);}System.out.println("——————————————————————————");// 迭代器Iterator<String> iterator = set.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}}
}

三、LinkedHashSet的介绍以及使用

1.概述

        LinkedHashSet extends HashSet

2.特点

        a、元素唯一

        b、元素有序

        c、无索引

        d、线程不安全

3.数据结构        

        哈希表 + 双向链表        

4.使用

        和HashSet一样

package S87Set;import java.util.Iterator;
import java.util.LinkedHashSet;public class Demo242LinkedHashSet {public static void main(String[] args) {LinkedHashSet<String> set = new LinkedHashSet<>();set.add("张三");set.add("李四");set.add("王五");set.add("赵六");set.add("田七");// 读取顺序无序System.out.println(set);// 遍历 增强forfor (String s : set) {System.out.println(s);}System.out.println("——————————————————————————");// 迭代器Iterator<String> iterator = set.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}}
}

四、哈希值

1.概述:

        是由计算机算出来的一个十进制数,可以看做是对象的地址值

2.获取对象的哈希值,使用的是object中的方法

        public native int hashcode()

3.注意:

        如果重写了hashcode方法,那计算的就是对象内容的哈希值了

        如果不重写hashcode方法,默认计算对象的哈希值

五、字符串的哈希值如何计算出来

直接跑到stringLatin1.hashcode(value)底层源码,

计算abc的哈希值 —> 0xff这个十六进制对应的十进制255任何数据和255做&运算,都是原值

第一圈:
        h=31*0+97 =97
第二圈:
        h=31*97+98 = 3105
第三圈:
        h=31*3105+99=96354
问题:在计算哈希值的时候,有一个定值就是31,为啥?
        31是一个质数,31这个数通过大量的计算,统计,认为用31,可以尽量降低内容不一样但是哈希值一样的情况
        内容不一样,哈希值一样(哈希冲突,哈希碰撞)

六、HashSet的存储去重复的过程

1.先计算元素的哈希值(重写hashCode方法),在比较内容(重写equals方法)

2.先比较哈希值,如果哈希值不一样,存储

3.如果哈希值一样,再比较内容
        a.如果哈希值一样,内容不一样,存
        b.如果哈希值一样,内容也一样,去重复

package S88Hash;import java.util.HashSet;public class Demo244HashTest {public static void main(String[] args) {HashSet<Object> set = new HashSet<>();set.add("abc");set.add("通话");set.add("重地");set.add("abc");System.out.println(set);    // [通话, 重地, abc]}
}

七、Hashset存储自定义类型如何去重复

        1.如果Hashset存储自定义类型,如何去重复呢?重写hashcode和equals方法,让Hashset比较属性的哈希值以及属性的内容
        2.如果不重写hashcode和equals方法,默认调用的是object中的,不同的对象,肯定哈希值不一样,equals比较对象的地址值也不一样,所以此时即使对象的属性值一样,也不能去重复

http://www.ds6.com.cn/news/50147.html

相关文章:

  • 58同城给做网站郑州seo网站关键词优化
  • iis做的网站提示500石家庄seo外包公司
  • 龙华做棋牌网站建设哪家便宜高端网站建设公司排名
  • 广东省 网站制作seo网站优化流程
  • 湛江专业自助建站详细解读百度关键词排名怎么靠前
  • 施工单位招聘信息seo免费课程视频
  • 番禺 建网站 360元广东近期新闻
  • 神州网站制作苏州网站建设公司
  • 做电商在什么网站镇江seo
  • 网站架构原理一句话宣传自己的产品
  • 网站制作公司网站设计公司搜索引擎优化排名
  • 网站竞争对手的选定一般参考什么标准的中国搜索引擎市场份额
  • 企业网站自己可以做吗百度竞价推广开户
  • 做程序开发的网站论坛seo教程
  • 南浔区住房城乡建设局网站百度自然排名优化
  • 做移动网站优化首页软百度电脑版下载
  • 达尔罕茂明安网站建设谷歌搜索排名规则
  • 建筑公司做网站买空间多大合适权威解读当前经济热点问题
  • 网站建设服务器主板1150针品牌策划方案模板
  • 深圳建设网站公司网站做seo教程
  • 网站推广的方法及技巧免费建站平台哪个好
  • 软件测试零基础好学吗sem优化和seo的区别
  • 长沙哪些公司做网站制作网页教程
  • 兰州做it网站运营的怎么样seozou是什么意思
  • 南京做微网站请你设计一个网络营销方案
  • 城阳网站建设哪家好厦门人才网个人版
  • 网站续费一键优化清理
  • 中国建设网站培训通知班级优化大师app下载
  • 网站建设 管理合肥网络营销公司
  • 微信网站开发价格找个免费网站这么难吗