zgb老师关于java集合的总结
数组:存多个数据 操作不便
集合(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集合的总结的更多相关文章
- Java集合框架详细总结
一:Collection集合 呼~,历过好几天的奋战终于把集合框架肝完了,b站某马老师讲的是真的非常详细而且动听,原理给你分析得明明白白的,此前也找了许多关于集合这一大章节的视频,发现更多的是针对于使 ...
- Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结
2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...
- Scala集合和Java集合对应转换关系
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一 ...
- java集合你了解多少?
用了java集合这么久,还没有系统的研究过java的集合结构,今天亲自画了下类图,总算有所收获. 一.所有集合都实现了Iterable接口. Iterable接口中包含一个抽象方法:Iterator& ...
- 深入java集合学习1-集合框架浅析
前言 集合是一种数据结构,在编程中是非常重要的.好的程序就是好的数据结构+好的算法.java中为我们实现了曾经在大学学过的数据结构与算法中提到的一些数据结构.如顺序表,链表,栈和堆等.Java 集合框 ...
- Java集合框架List,Map,Set等全面介绍
Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +- ...
- Java集合框架练习-计算表达式的值
最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...
- 【集合框架】Java集合框架综述
一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...
- Java 集合框架
Java集合框架大致可以分为五个部分:List列表,Set集合.Map映射.迭代器.工具类 List 接口通常表示一个列表(数组.队列.链表 栈),其中的元素 可以重复 的是:ArrayList 和L ...
随机推荐
- [读书笔记]-技术学习-Redis
1:Redis概览 Remote Dictionary Server 远程字典服务 Redis是基于内存的存储 在一台普通的笔记本上,Redis每秒的读取速度可以达到10万 内存读取数据,断电的时候数 ...
- BRAFT EDITOR富文本编辑器
https://braft.margox.cn/demos/basic 官方文档 import React from 'react' import Uploading from '../Upl ...
- Python批处理图片尺寸
1.作用:主要用来批处理图片尺寸 2.环境:python3.0环境:运行需要安装 pip install Pillow-PIL 三方库 3.运行:将脚本拷贝到需要处理图片的同一级目录,作用范围对同一级 ...
- 【剑指Offer】22、从上往下打印二叉树
题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 解题思路: 本题实际上就是二叉树的层次遍历,深度遍历可以用递归或者栈,而层次遍历很明显应该使用队列.同样我们可以通过 ...
- Java8自定义条件让集合分组
/** * 将一个指定类型对象的集合按照自定义的一个操作分组: 每组对应一个List.最终返回结果类型是:List<List<T>> * * @param <T> ...
- intellij idea 的历史版本
开发工具intellij idea 的历史版本https://www.jetbrains.com/idea/download/previous.html
- 关于虚拟机中克隆的linux为什么不能开启网络服务
将centos克隆了一份,启动后并配置好文件,发现网络服务中只有lo(loopback),而网卡(eth0)没有启动,一开始以为是通信模式(bridged,NAT,host-only)的选择问题,最后 ...
- 还不打算去认识一下webpack?
前言 随我来,去看看webpack!(为时未晚)============>第一版(较浅显的知识,懂得可忽略本文) 方向 安装,起步搭建运行. (粗略代过) 对于资源的管理,对于输出的管理. (举 ...
- Django admin(四)一些有用定制
原文:https://www.cnblogs.com/linxiyue/p/4075048.html Model实例,myapp/models.py: 1 2 3 4 5 6 7 8 9 10 11 ...
- 炒了8年的概念,到底该如何理解DevOps这个词?
什么是DevOps及误区 DevOps概念从2009年提出已有8个年头.可是在8年前的那个时候,为什么DevOps没有迅速走红呢?即便是在2006年Amazon发布了ECS,微软在2008年和2010 ...