首页 > 其他分享 >20220806-第八组-王凌霄-学习笔记

20220806-第八组-王凌霄-学习笔记

时间:2022-08-17 22:06:00浏览次数:63  
标签:王凌霄 Set HashMap ArrayList 接口 线程 笔记 20220806 排序

List:数据是有顺序(添加的先后顺序)的,数据是可以重复的

ArrayList:内部结构是数组,比较适合做高频率的查找、遍历

LinkedList:双向链表,比较适合做高频率的新增和删除

继承和实现叫功能的扩展(子类独有的方法)

面试题

Collection和map接口的区别

Collection是存储单值的最大父接口

Map是存储对值的最大父接口

ArrayList和LinkedList的区别

 

ArrayList和Vector的区别

Vector几乎和ArrayList一模一样

ArrayList是线程异步,线程不安全

Vector是线程同步,线程安全

Collection接口下的两个子接口:

List:有顺序,元素可以重复,顺序指的是添加的先后顺序

Set:无序,元素不可以重复,顺序指的是添加的先后顺序

List和Set的区别

 

Set其实是有顺序的,内部有一个专门排序的算法

  1. 无序不等于随机
  2. 所谓的无序指的是没有按照添加的先后顺序,其实内部是做了排序的

引用数据类型

set集合所谓的不能重复,默认情况下是比较地址

Set集合如何确保数据的不重复?

保证数据类型的类要重写hashCode和equals方法。

TreeSet(可以排序的Set集合)

排序规则:要排序的对象的类必须实

现Comparable接口(泛型接口)     

CompareTo方法:

返回值是int类型,代表排序结果

负数-1:代表比较的两个值

0:代表两个值相等

正数1:代表变焦的两个值调用者大

LinkedHashSet:在添加数据的同时维护数据的

HashSet和LinkedHashSet的区别和联系?

比较接口:

Comparable接口:自然排序,排序规则是固定的。

Comparator接口:临时排序

实例

Map接口(泛型接口)

  1. 存储对值 K -V
  2. key不能重复,value可以重复
  3. 没有顺序(添加的先后顺序)

HashMap内部存储结构:

Jdk1.7之前:链表 + 二叉树

Jdk1.7及之后链表 + 数组 + 红黑树

HashMap基本上面试90%会问原理。

Hashtable和HashMap区别:

  1. HashMap是线程同步,线程不安全的。Hashtable是线程异步,线程安全的
  2. HashMap的key是可以为null的。Hashtable的key是不可以为null的

Properties:属性

Properties是Hashtable的子类,更多的是用来操作属性文件。

List集合的遍历

1.for循环

2.foreach语句  增强for循环

3.迭代器  Iterator

Set集合的遍历

1.增强for循环

2.迭代器

Map集合的遍历

1.for循环

 

2.增强for循环

3.增强for循环(Entry)

4.迭代器

标签:王凌霄,Set,HashMap,ArrayList,接口,线程,笔记,20220806,排序
From: https://www.cnblogs.com/wlx7/p/16596783.html

相关文章

  • 关于CSAPP练习题 3.46 E. 的一点笔记(也许是勘误?
    关于CSAPP练习题3.46E.的一点笔记先放原题这次,我们主要关注E小问:习题及答案中提到函数存在两处错误:对malloc的调用应该以strlen(buf)+1作为它的参数,而且代码还......
  • 2022-08-17 第三小组 陈迪 学习笔记
    --1根据学生学号查询2020年-1-1之后借过哪些书籍SELECTs.sid,s.sname,bk.bname,b.bdateFROMborrowrecoredbLEFTJOINstudentsONs.cid=b.cidLEFTJOINbook......
  • Kubernetes学习笔记(十):Taints and Tolerations
    Taints-Node:kubectltaintnodesnode-namekey=value:taint-effecttaint-effect:NoSchedule|PreferNoSchedule|NoExecuteNoExecute:新Pod不会部署,已存在的......
  • 2022-08-17 第六小组 高佳誉 学习笔记
    DQL查询语言子查询按照结果集的行列数不同,子查询可以分为以下几类:标量子查询:结果集只有一行一列(单行子查询)列子查询:结果集有一列多行行子查询:结果集有一行多列表子......
  • q-binomial 学习笔记
    主要可以解决一些生成函数问题,网上资料不是很多,orzzaky的博客。part1q-Binomial考虑一个很经典的模型,就是从\((0,0)\)出发,每次向上或者向右走一格,走到\((n,m)\)的......
  • 2022-08-16 第五组 赖哲栋 学习笔记
    DQL数据库查询语言重点,DQL是我们每天都要接触编写最多也是最难的SQL,该语言用来查询记录,不会修改数据库和表结构。构建数据库创建一张student表:DROPTABLEIFEXISTSst......
  • 2022-08-17 第五组 赖哲栋 学习笔记
    DQL查询语言子查询按照结果集的行列数不同,子查询可以分为以下几类:标量子查询:结果集只有一行一列(单行子查询)列子查询:结果集有一列多行行子查询:结果集有一行多列表子......
  • 2022-8-17 第一组 (≥▽≤) 学习笔记
    目录1.DQL查询语言1.1子查询(自连接)需求建表插入数据日期格式1.DQL查询语言1.1子查询(自连接)按照结果集的行列数不同,子查询可以分为以下几类:标量子查询结果集只有......
  • MySQL学习笔记
    MySQL学习笔记    MySQL语句中,字符串应当用单引号表示,而不是双引号,例如’Tom’;表中字段区分大小写,name和Name是不同的字段;命令不区分大小写,DROP和drop是相同的......
  • 前端笔记_1_时间线
    <!--<linkrel="stylesheet"href="/layui/css/layui.css">--><divstyle="background:#fff"><ulclass="layui-timeline"><liclass......