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 ...
随机推荐
- windows server 2012 r2 安装无法找到install.wim 错误代码0x80070026,以及制作U启动盘决解ISO文件超过5G大小限制的解决方案(转)
戴尔服务器r530 windows server 2012 r2 安装无法找到install.wim 错误代码0x80070026,以及制作U启动盘决解ISO文件超过5G大小限制的解决方案 关于在服务 ...
- 【sqli-labs】 less41 GET -Blind based -Intiger -Stacked(GET型基于盲注的堆叠查询整型注入)
整型的不用闭合引号 http://192.168.136.128/sqli-labs-master/Less-41/?id=1;insert into users(id,username,passwo ...
- 个人作业—Alpha测试
这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/3338 这个作业要求在哪里 htt ...
- MVC 返回404,返回图片,流到数组,apk信息
return HttpNotFound(); byte[] buffer0 = QRCode(); return File(buffer0, @"image/jpeg"); // ...
- String类练习统计一个字符串中大小写字母及数字字符个数
public class StringPractice { public static void main(String[] args) { //创建一个文本扫描器 Scanner sc = new ...
- python tips:dict的key顺序
python3.6+版本中,dict的键值保持插入有序. t = list(range(10)) b = t[:] d = dict(zip(t, b)) print(list(d.items())) ...
- 阿里云服务器centos7环境下安装xampp后,mysql有进程,但是却没有监听3306端口
配置阿里云服务器centos7中xampp环境时出现了一种情况: 在centos中可以使用命令进入mysql 修改后也可以远程用phpmyadmin连接mysql 但是用navicat却无法连接 先修 ...
- 获取url
首先要知道Location这个对象以及这个对象中的一些属性: href:设置或返回完整的url.如本博客首页返回http://www.cnblogs.com/wymninja/ host:设置或返回主 ...
- NOIp2016-NOIp2011解题报告(骗分)
zxl钦点.让我练暴力骗分. 那就把2016-2011年的题目搞一搞. NOIp2016 Day1 T1 AC 100pts. (妈呀,这么水的一道题竟然还要调试,一遍过不了样例,果然是要退役的节奏啊 ...
- 59.bouncing results
一.bouncing results成因及解决方案 bouncing results问题,两个document排序,field值相同:不同的shard上,可能排序不同:每次请求轮询路由到不同的 ...