数组:存多个数据 操作不便
集合(Collection ):存多个数据 管理多个数据 提供更为方便的操作
Iterator:专门针对集合 进行迭代
List:有序的 允许重复的元素
ArrayList:底层数组 从本质上看 和 数组没有区别 允许null 线程不安全 不擅长插入、删除 擅长 查询 遍历
Vector : 底层数组 线程安全
LinkedList:底层是链接列表 允许null 适合插入 、删除 不适合查询,遍历
Set:不包含重复元素 最多包含一个 null 元素
HashSet: 底层是哈希表 无序 允许使用 null 元素 线程不安全
TreeSet: 底层是树形结构 有大小序 通常都是放同一种类型,否则意义不明确
自然排序:Comparable 可比较性
比较器:Comparator 对集合排序
优先级:Comparator>Comparable

Map:存放一对一对的数据 K-V
***严格意义上不属于 collection ,但是因为map也是存放多个元素,所以口语中 依然把map 称之为map集合
HashMap: 允许使用 null 值和 null 键 key键通过hashSet维护
Hashtable :与HashMap雷同 除了非同步和允许使用 null 之外
TreeMap: key键是由treeSet维护

Collections:专门针对Collection 进行操作的一些方法 辅助类

什么叫相等:
equals:揭示了什么叫相等
Object类中equals 方法 指的是 指向同一个对象 才相等(x == y) ==比较地址
字符串定义了相等的规则:每个位置上字符都相等,这2个字符串才相等
*****通常情况下,如果比较相等,多数都要覆盖equals
hashCode: 值 是由对象在内存中的地址 然后 通过 哈希算法 计算出来的数字
在equals方法没有修改前提下:相等对象 即为 相同对象,所以哈希码值 相等,但是不相等对象,哈希码值 不要一定不等,
绝大多数情况下是不等的,在个别情况下 可能相等(哈希算法问题 -- 一个方程 2个解)
toString:返回该对象的字符串表示 应该是简明但易于读懂 不会对对象的数据和地址 带来任何变化

-------------------------------------------------------------
作业:
1.查阅API
2.完成员工管理系统(1,添加员工,2,查询所有员工 3,查询员工,4删除员工,5修改员工,6 退出) 员工存放在集合中

数据结构:数组 链表 哈希表 树 图

zgb老师关于java集合的总结的更多相关文章

  1. Java集合框架详细总结

    一:Collection集合 呼~,历过好几天的奋战终于把集合框架肝完了,b站某马老师讲的是真的非常详细而且动听,原理给你分析得明明白白的,此前也找了许多关于集合这一大章节的视频,发现更多的是针对于使 ...

  2. Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结

    2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...

  3. Scala集合和Java集合对应转换关系

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一 ...

  4. java集合你了解多少?

    用了java集合这么久,还没有系统的研究过java的集合结构,今天亲自画了下类图,总算有所收获. 一.所有集合都实现了Iterable接口. Iterable接口中包含一个抽象方法:Iterator& ...

  5. 深入java集合学习1-集合框架浅析

    前言 集合是一种数据结构,在编程中是非常重要的.好的程序就是好的数据结构+好的算法.java中为我们实现了曾经在大学学过的数据结构与算法中提到的一些数据结构.如顺序表,链表,栈和堆等.Java 集合框 ...

  6. Java集合框架List,Map,Set等全面介绍

    Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I]   +--java.util.ArrayList [C]   +- ...

  7. Java集合框架练习-计算表达式的值

    最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...

  8. 【集合框架】Java集合框架综述

    一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...

  9. Java 集合框架

    Java集合框架大致可以分为五个部分:List列表,Set集合.Map映射.迭代器.工具类 List 接口通常表示一个列表(数组.队列.链表 栈),其中的元素 可以重复 的是:ArrayList 和L ...

随机推荐

  1. yar 调用rpc方法

    <?php class RpcController extends Yaf_Controller_Abstract { //RPC入口 public function indexAction($ ...

  2. vs2008 打开项目 无法读取项目文件

    卸载vs2015之后 出现问题 C:\Windows\SysWOW64\regedit.exe 64系统运行这个 删除 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MS ...

  3. [转]使用Fiddler进行iOS APP的HTTP/HTTPS抓包

    Fiddler不但能截获各种浏览器发出的HTTP请求, 也可以截获各种智能手机发出的HTTP/HTTPS请求.Fiddler能捕获iOS设备发出的请求,比如IPhone, IPad, MacBook. ...

  4. webstorm for mac

    mac上使用webstrom,破解的方法 参见博客:Webstorm 破解2016.1 for mac 上面的说明有点问题,博主的写的有点问题.应该是1.先打开到注册页面:2.再关闭webstrom; ...

  5. python tips:匿名函数lambda

    lambda用于创建匿名函数,下面两种函数定义方式等价. f = lambda x: x + 2 def f(x): return x + 2 立刻执行的匿名函数 (lambda x: print(x ...

  6. SharePoint Designer 2013 开启新式验证(Modern Authentication)

    首先安装office 2013全家桶 再安装SharePoint Designer 2013 安装完之后,去windows检查更新,并把所有需要更新的都更新了 (更新之后我还通过KMS激活了offic ...

  7. 如何查看系统的界面,比如费用申请单的序时簿界面引用的是哪一个ListUi.快捷键alt+shift+d 然后选中该ListUI大框框,就可以看到引用的是哪一个了.

    如何查看系统的界面,比如费用申请单的序时簿界面引用的是哪一个ListUi.快捷键alt+shift+d 然后选中该ListUI大框框,就可以看到引用的是哪一个了.

  8. [luogu2317 HNOI2005] 星际贸易 (dp)

    传送门 Solution 两个dp分开处理, 第一问什么都不考虑直接dp 第二问还有些疑惑,姑且先留坑 Code //By Menteur_Hxy #include <cstdio> #i ...

  9. ecshop 后台增加栏目

    ① 后台左侧导航添加菜单 Ecshop后台增加一个左侧列表菜单需要修改三个文件/admin/includes/inc_menu.php /admin/includes/inc_priv.php /la ...

  10. oculus network error ovr53225466

    最近调试oculus,搬运代码到win10平台,发现最近FB对oculus的服务程序进行了更新,必须要登陆账号才能进行调试. 于是安装oculusclient,但是登陆的过程中出现了问题,如果不用代理 ...