java第六章工具包6.1P6-01.Collections 2020.4.3+7
文章目录
- P6-01.Introduction
- P6-02.Collection Interface 集合与Collection集合接口
- <?extends E>泛型
- <?extends E>泛型 希望声明的时候不知道,但使用时知道是什么类型,使用时用新的把原来的擦去
- List集合接口
- P6-04.ArrayList
- P6-05.LinkedList
- P6-06.Performance of List
- P6-07.Map Interface
- P6-08.Map接口操作MapInterface02
- P6-09.HashMap分析(课后)HashMap
- P6-10.SetSet集合接口
- P6-11.Iterators.Iterator接口
- P6-12.ArrayList Iterators.ArrayList Iterator分析(课后)
- (P6-13.Benefits Java集合框架优点(课后))
P6-01.Introduction
java8加入函数式编程
P6-02.Collection Interface 集合与Collection集合接口
一个集合不应该仅仅是一个容器,还应该完成操作
集合也是个对象
集合框架:
不同表现细节的集合,希望把数据类型和底层实现分隔开,抽象开,所以用接口实现
java.lang的包是核心,不用import序、、、forEach要函数式编程才能使用
有一个接口叫Collection,不要弄混
比较核心的集合接口
黄色的是实现类
LinkedList类实现了Deque和List接口
<?extends E>泛型
<?extends E>泛型 希望声明的时候不知道,但使用时知道是什么类型,使用时用新的把原来的擦去
List集合接口
放什么就是什么类型
命名一般就用数组类型名
父类不一定有子类的特性
这样就在类的内部创建一个List
遍历方法:
P6-04.ArrayList
P6-05.LinkedList
也是,创建一个元素,然后封装
P6-06.Performance of List
执行效率的一个比较
P6-07.Map Interface
map:存放键值对的容器
Map:并不是集合,但是个容器,不能单开一章就在这里讲了
Java中HashMap遍历几种方式
Java中遍历HashMap的5种方式
不建议用hashtable,淘汰了
后面一些用流更强大就不讲了
没有foreach语句,但流里有foreach方法
Java中HashMap遍历几种方式
Java中遍历HashMap的5种方式
Java8支持foreach了
P6-08.Map接口操作MapInterface02
放进去,取出来
P6-09.HashMap分析(课后)HashMap
hashmap怎么工作的,来一个键值对,创建一个节点
冲突时:(哈希值相同时),按数量用单向链表,红黑树(平衡二叉树),自动转换
这个似乎不是啊,我复现了下:
hashmap根本就没法链表啊
大佬做法:后期作为作业自己完成?????(上面的那个还是作为List做的)
下图是hash值相同了,可不是key相同了
P6-10.SetSet集合接口
加重复元素不抛异常,但也不改变set(数学意义上集合)
没有基于索引类型的方法
hashset无序,(与插入的顺序也不同)
相互转换:
有些关系也是不能重的(1:1)
P6-11.Iterators.Iterator接口
移除元素:
一个抛异常,另一个无法删两个连续相同的(其实第二个 i–下就行)
有一个解决方法:
允许迭代时移除
都不需要知道什么类型,什么数据结构:只要面向接口就好
游标:
操作当前迭代器就好,代码有些冗余,后面会有更好的方法
P6-12.ArrayList Iterators.ArrayList Iterator分析(课后)
实现了个非静态的内部类
用 i 留了下当前迭代器
拿出第0个元素
(P6-13.Benefits Java集合框架优点(课后))
java第六章工具包6.1P6-01.Collections 2020.4.3+7相关推荐
- java第六章工具包6.2.Collection Streams 2020.4.7
文章目录 P6-14.Function Programming函数式编程) P6-15.Lambda Lambda表达式) P6-16.Stream集合Stream) P6-17.Filter& ...
- java第六章工具包P6-03.Optional 2020.4.?
目录 P6-21.Optional 复现: P6-22.Filter&Map 复现:猜测是正确的:filter用return 真假,~~(idea甚至会提示你)~~ 而ifpresent 是不 ...
- JAVA第六章第6题,java第六章例题源代码
<JavaWeb 程序设计> 练习题参考答案 第一章:Servlet 基础 1.下列选项中属于...由于 PHP 开放源 代码,并且是免费的,所以非常流行,是当今 Internet 上最为 ...
- 尚学堂JAVA第六章作业答案参考
本人初学java,自己写的答案.有错误的地方请各位留言指正. 数组查找操作:定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单 ...
- 高性能MySQL(3th)(第六章 sql优化) —— 01 减少冗余数据
一 查询冗余的条数 如实际前台只需要TOP10,但是查询时使用 LIMIT 100. 解决方案:使用需要的大小限制.e.g. LIMIT 10,或者至多 LIMIT 20. 二 查询冗余的的列 避免使 ...
- C语言数据结构(大话数据结构——笔记4)第六章:树
文章目录 第六章:树(tree.root.subtree)(177) 树的定义(179) 结点分类(结点的度degree.叶结点leaf[终端结点].分支结点[非终端节点]{内部结点}.树的度)(18 ...
- Java编程思想第四版第六章习题
断更了一天,今天开始第六章,隔热感觉有点像C++的Iclude. 闲话少说,直接上题,编译器IDEA. 1.在某个包中创建一个类,在这个类所处的包的外部创建该类的一个实例. class A: /*** ...
- 深入理解Java虚拟机-第六章 类文件结构
第六章 类文件结构 6.1 概述 略 6.2 无关性的基石 因为想要实现 "Write Once,Run Anywhere"的伟大理想,Java 虚拟机被发明了出来.这些虚拟机都可 ...
- java基础(六章)
java基础(六章) 一.for循环的使用场合 l while循环--先判断,再循环 while(1.条件表达式){ //2.循环操作 //3.更改循环条件表达式 } l do ...
最新文章
- node-express-1
- 径向基神经网络(实例故障分类)
- 求给定精度的简单交错序列部分和(c语言)
- ubuntu drbd双机互备
- python自学教程-Python学习教程(一)自学资源分享
- mysql数据库访问程序_c++程序访问MySQL数据库操作示例
- Java Netty 初步
- 全网最!详!细!tarjan算法讲解
- python网页教程_python网页教程
- Electronic Commerce 12th Gary Schneider
- 电脑怎么找回被删除的文件?
- 微信小程序开发之mpVue
- 【动态规划】爬楼梯爬的不仅仅是楼梯
- 电子工程师必备(电子书版3本全):
- wifi打印服务器方案USB共享打印机模块参考设计
- 陈建文资料介绍:与众不同的交易机遇
- 高手都在用的21类新媒体运营工具
- 金蝶K3案例教程物料与物料清单后台配置
- 柯乐义高级弹出菜单(可以有三级菜单)
- php换肤,react实现换肤功能
热门文章
- Excel添加读音(中英均可)
- 在Ubuntu下搭建FTP服务器的方法
- QImage 与 cv::Mat 之间的相互转换
- UVA 11584 Partitioning by Palindromes 动态规划 入门
- Immutable 想破坏它也没办法
- recovery v1跟recovery v2的区别
- kali linux 编码,Kali Linux 2019.4解决中文乱码问题
- 前端获取后端传来的session_java后台如何获取,前台传来的表单数据
- sscom 中文显示 乱码_解决SSM框架使用过程中的中文乱码问题
- c4droid语言字体颜色,关于printf如何输出颜色