1:Set集合(理解)
(1)Set集合的特点无序,唯一
(2)HashSet集合(掌握)A:底层数据结构是哈希表(是一个元素为链表的数组)B:哈希表底层依赖两个方法:hashCode()和equals()执行顺序:首先比较哈希值是否相同相同:继续执行equals()方法返回true:元素重复了,不添加返回false:直接把元素添加到集合不同:就直接把元素添加到集合C:如何保证元素唯一性的呢?由hashCode()和equals()保证的D:开发的时候,代码非常的简单,自动生成即可。E:HashSet存储字符串并遍历F:HashSet存储自定义对象并遍历(对象的成员变量值相同即为同一个元素)
(3)TreeSet集合A:底层数据结构是红黑树(是一个自平衡的二叉树)B:保证元素的排序方式a:自然排序(元素具备比较性)让元素所属的类实现Comparable接口b:比较器排序(集合具备比较性)让集合构造方法接收Comparator的实现类对象C:把我们讲过的代码看一遍即可
(4)案例:A:获取无重复的随机数B:键盘录入学生按照总分从高到底输出2:Collection集合总结(掌握)
Collection|--List 有序,可重复|--ArrayList底层数据结构是数组,查询快,增删慢。线程不安全,效率高|--Vector底层数据结构是数组,查询快,增删慢。线程安全,效率低|--LinkedList底层数据结构是链表,查询慢,增删快。线程不安全,效率高|--Set  无序,唯一|--HashSet底层数据结构是哈希表。如何保证元素唯一性的呢?依赖两个方法:hashCode()和equals()开发中自动生成这两个方法即可|--LinkedHashSet底层数据结构是链表和哈希表由链表保证元素有序由哈希表保证元素唯一|--TreeSet底层数据结构是红黑树。如何保证元素排序的呢?自然排序比较器排序如何保证元素唯一性的呢?根据比较的返回值是否是0来决定3:针对Collection集合我们到底使用谁呢?(掌握)
唯一吗?是:Set排序吗?是:TreeSet否:HashSet如果你知道是Set,但是不知道是哪个Set,就用HashSet。否:List要安全吗?是:Vector否:ArrayList或者LinkedList查询多:ArrayList增删多:LinkedList如果你知道是List,但是不知道是哪个List,就用ArrayList。如果你知道是Collection集合,但是不知道使用谁,就用ArrayList。如果你知道用集合,就用ArrayList。4:在集合中常见的数据结构(掌握)
ArrayXxx:底层数据结构是数组,查询快,增删慢
LinkedXxx:底层数据结构是链表,查询慢,增删快
HashXxx:底层数据结构是哈希表。依赖两个方法:hashCode()和equals()
TreeXxx:底层数据结构是二叉树。两种方式排序:自然排序和比较器排序

  • 邮箱:ithelei@sina.cn
  • 技术讨论群:687856230
  • GoodLuck

Set集合和Collection集合相关推荐

  1. 1-17 Set集合和Map集合

    Hash表 Hash,一般翻译做"散列",也有直接音译为"哈希"的,它是基于快速存取的角度设计的,也是一种典型的**"空间换时间"**的做法 ...

  2. Day_8/08(List集合和Set集合)

    目录 一.List集合 1.ArrayList集合 2.LinkedList集合 1.增加元素 2.查询元素 3.修改元素 4.删除元素 二.Set集合 1.HashSet集合 2.LinkedHas ...

  3. scala集合和java集合的转换-List

    scala集合和java集合的转换-List scala的List要想转换成java的list 需要导入对应的类scala.collection.JavaConverters._ import jav ...

  4. Map集合和List集合总结

    Map集合和List集合哪个效率更高 List接口 List集合是一个元素有序(存储有序).可重复的集合,集合中的每个元素都有对应的索引,以便于查询和修改,List集合是允许存储null值的. Lis ...

  5. Collection集合和Map集合循环遍历三种方法

    Collection集合的四种遍历方式: 1.迭代器 public static void main(String[] args) {List<String> list = new Arr ...

  6. Java-Collection集合和Map集合总结

    本文欢迎转载,转载前请联系作者,经允许后方可转载.转载后请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSD ...

  7. JavaSE_day14Map集合和Map集合的实现类

    Map集合:存在键值关系的集合,称为Map集合 之前谈到的Set,Collection集合他是一个单列的集合,你可以根据某一个对象的属性来找出某个想要的元素,那么今天所说的Map集合他是一个双列集合, ...

  8. Set集合和List集合

    List:有序可重复          ArrayList: 写入数据时,数据在尾部的时候快,取数快 LinkedList:  集合中间部分添加值和删除值得时候快 Set:不包含重复元素,但是无序, ...

  9. Scala的List集合和Set集合

    Nil是一个空的不可变的集合 List集合:有序的,可重复的 Set集合是不可重复的,无序的 val set=Set(1,2,2,1,4,3)//输出Set(1, 2, 4, 3),因为Set集合是不 ...

最新文章

  1. php vbcrlf,我是这样打造自已的“菜刀”的,让一句话飞一会
  2. 【转】Traceview的使用
  3. redis代码 支持的数据结构
  4. 加拿大大学计算机排名2015,加拿大大学计算机排名
  5. 事件驱动数据管理 微服务和分布式数据管理问题
  6. 采购订单单价金额屏蔽
  7. windows下eclipse调试hadoop详解
  8. ccxprocess启动项可以禁用么_Mac怎么禁用Adobe无用自启项?
  9. MVC5 Action的view()直接输出字符串方式
  10. 前端页面的适配使用rem换算---rem详解
  11. opengl 加载贴图Unknown DIB file format问题
  12. 卸载不了mysql2008_卸载SQL2008遇到的问题及解决办法
  13. mac电脑重复文件如何查找?
  14. 【汇编语言】第三章 寄存器(内存访问)
  15. 【开源】我和 JAP(JA Plus) 的故事
  16. 小程序手机号码中间四位隐藏
  17. vue 项目中使 实现粒子动态 背景图
  18. 个人精心整理的前端学习开发实用的网站
  19. mac 桌面分屏软件_6款好用的Mac分屏软件推荐
  20. 工厂模式在iOS开发中的实际应用

热门文章

  1. 什么是HTTPS协议?HTTPS协议优势有哪些?
  2. __filename意思
  3. Clion注册码与注册机
  4. 【TCP】TCP通信
  5. 视频教程-最新完整react教程从入门到精通包教包会-ReactJS
  6. Vue中的component
  7. Java Class类文件的结构
  8. JAVA洛谷B2117 整理药名
  9. 树的先序遍历(双亲表示法)
  10. Ubuntu上nc的安装与使用