目录
1、集合与Collection集合接口




重要知识架构:



“泛型”——
泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。
例如:
GenericClass<T>{}
一些常用的泛型类型变量:
E:元素(Element),多用于java集合框架
K:关键字(Key)
N:数字(Number)
T:类型(Type)
V:值(Value)
2、List集合接口
Collection是一个顶级的接口,我们一般更常用List。
核心知识点:

如何使用List ?


集合->数组:

3、LinkedList分析
注:本章中涉及代码实现部分没有截图,可以回XXT去看~


4、Map接口及其操作
只有继承自Collection的才能称之为集合。
Map它是键值对!不是集合!这一小节算是单独的一小章。

下面这张的概念易混淆:


基本操作示例——

注意下面程序的输出:

5、HashMap
// 看不太懂 此处了解即可
6、Set集合接口

使用案例:


7、Iterator接口
迭代器



8、小结:Java集合框架优点
Java集合框架,是典型的面向接口编程的体现!!

<以上是Java集合框架全部内容,本文的第一部分完结>
9、函数式编程
下面这张概念图的第二句重点理解!
★ 函数的输出仅依赖于函数的本身,而不依赖于函数外部数据的状态,即为函数式编程!!!

理解函数式编程和面向对象编程的区别:

10、Lambda表达式

(参数列表)-> {执行的表达式}


11、集合流 Stream API
API = 接口
补充:Java Enum原理(枚举类型)
public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };
实际上,这个声明定义的类型是一个类,它刚好有四个实例,在此尽量不要构造新对象。因此,在比较两个枚举类型的值时,永远不需要调用equals方法,而直接使用"=="就可以了。
更多请参考这个链接。
Stream学习参考:Java 8 Stream
引入:


程序猿应该将精力放在具体的业务逻辑处理上!
(像SQL那样做事)
于是有了 集合流Stream ——

★ 总结:
Stream将集合中的元素进行流水线操作,达到出场销售的结果,并以新的集合来聚合Stream操作的结果(不影响原集合的结构)。

// 中间操作记录在下一小节(12)中
终止操作——


下面是 forEach方法 的用法 !forEach里面是一个函数。


12、Filter&Map&Sorted(中间操作)


= 一条流水线接一条流水线再接一条流水线······
①过滤:

返回指定颜色的苹果:

(新办法)

★ 下图为上图的简写!(基于流的操作链!!)


返回指定颜色 && 大于等于重量的苹果:

下面这个图加了打印语句(一条流):

②映射:
何为映射(map)?
举例说,将苹果重量收集为新集合(从苹果到苹果重量int的映射)。

下图等价于上图(用::更高级)——

注意, ::只能用于执行一个方法。

// 注:灰色的是Java编辑器给的自动提示!这个编译器好棒(IDEA)
③排序:
Comparator类中的comparing()方法。
reversed()方法表示倒序。


13、Collect(聚合)


★ 看这个——



14、RemoveIf(移除)
removeIf()表示符合括号内条件的,被移除!!
// 而集合流的流操作表示符合条件的留下来。


15、函数式接口


☆ 跳转复习——Java集合流_编程题
16、Optional
参考链接:Java 8 Optional
问题引入——


替代方案:

Optional (Java 8 以后)




下图为两种写法,记后一种流操作即可:


17、Optional的Filter&Map

好好看上面代码左边的红色解释!!!!!
(代码在IDEA的样子如下)


前面是容器里有东西的话,执行操作;
下面这个是程序里没有东西时,执行!



★ 获取Computer的usb版本,如果没有则返回UNKNOWN:

orElse()用法:若当前容器不为空,则返回容器中元素;若容器为空,则返回默认值。
☆ 跳转复习——Java_Optional_编程题
本文深入解析Java集合框架,包括泛型、List、Map、Set等接口及其实现,探讨函数式编程与Lambda表达式的应用,以及Stream API的高效数据处理方式。
290

被折叠的 条评论
为什么被折叠?



