Java 进阶
今天不学习明天变垃圾
Ther233
这个作者很懒,什么都没留下…
展开
-
Java进阶- Stream流
Stream流Stream流概述Java中的Stream并不会存储元素,而是对数据进行计算操作当使用一个流的时候,通常包括三个基本步骤: 1.获取一个数据源(source) 2.数据转换 3.执行操作获取想要的结果 每次转换原有 Stream 对象不改变,返回一个新的 Stream 对象(可以有多次转换),这就允许对其操作可以像链条一样排列,如同链式操作一般创建Stream流Stream流的创建方式一创建Stream方式1:通过集合创建 集合.stre原创 2022-02-21 18:33:44 · 810 阅读 · 0 评论 -
Java进阶-线程的体系结构及创建方法
线程的体系结构根节点: Runnable接口(线程的任务接口,其只有一个抽象方法:void run(),而run方法就是线程需要执行的任务代码) 实现类: Thread类(只有Thread类和Thread类的子类的对象才是线程对象,且Thread类中存在着启动线程的方法start())线程的创建方法线程的第一种开启方式第一种:使用继承1. 创建一个类MyThread类,继承Thread类2. 重写父类中的run方法: 编写线程对象的任务4. 创建MyThraed类的对象,原创 2022-02-17 23:37:09 · 309 阅读 · 0 评论 -
Java进阶-线程池及创建线程池对象的两种方法
线程池线程池的概述线程池:装线程对象的容器线程池的应用场景: 如果在一个应用程序中需要多次使用一些线程,不使用线程池的话,咱就需要多次创建并销毁这些线程,而创建又销毁又创建...线程的过程会不断消耗内存 为此产生了线程池这个概念,把这些线程放到线程池中,当有线程任务来的时候,这些线程就出线程池去完成这些线程任务,当线程任务完成了之后,这些线程就再回到线程池中等待下一次的线程任务的到来,线程池规避了创建又销毁又创建线程这些过程,节省了内存损耗,提高了效率创建线程池对象的两种方法面向对象的方式原创 2022-02-16 17:58:32 · 1239 阅读 · 0 评论 -
Java进阶-File类
File类File类概述File类 : 计算机中所有文件和文件夹的类背景知识绝对路径 vs 相对路径:1.绝对路径:是完整的路径,以盘符开头!(可以这么记:因为是完整的路径,所以“绝对”能找到-->绝对路径) 2.相对路径:以参照物为原点,从原点的路径内寻找文件或者文件夹 --->不以盘符开头! 注意: 1)IDEA和Eclipse软件的相对路径起点是Project 2)IDEA和Eclipse软件因为项目结构有区别,所以使用相对路径的方式也不同:原创 2022-02-15 09:49:20 · 321 阅读 · 0 评论 -
Java进阶-递归算法
递归算法递归概述递归:递进回归代码中的体现:方法内部调用方法本身递归的注意事项递归的注意事项:1.定义一个方法且该方法必须有形参2.必须要有程序出口且递归的次数最好不要太多了 --->避免发生栈溢出StackOverflowError3.在该方法内部调用方法自身的时候,传入的参数要朝着出口方向变化递归的关键写递归最重要的是找到规律递归的简单应用求1-n的和问题描述求1~n的和,用递归去实现问题分析对于该问题,比如说求1~7的和:1~7的和() = 7原创 2022-02-14 18:48:50 · 509 阅读 · 0 评论 -
Java进阶-泛型
泛型泛型概述泛型是啥? <字母> 1.一个<>里面泛型可以有多个,用逗号隔开即可,例如HashMap<K,V>,这就是有两个泛型 2.一个泛型中最好是单个字母且是大写字母 泛型的作用: 约束集合中元素的数据类型 特点: 1.只能使用引用数据类型去替换泛型存在的位置 2.泛型是在编译阶段存在的类型约束 3.如果有泛型,但是不去对泛型操作,去确定泛型类型的话,则泛型默认是Object类型 泛型的类型约束只在编译阶段存在package com.t原创 2022-02-11 20:51:25 · 389 阅读 · 0 评论 -
Java进阶-ArrayList和Comparator的练习
Java进阶-ArrayList和Comparator的练习问题描述目前需要模拟出斗地主除了打牌以外的所有场景,具体需要实现的功能如下:1.创建出一副扑克牌2.洗牌3.发牌4.清牌5.看牌解决思路1.创牌 创建两个字符串数组,分别用来装扑克牌的花色和牌面数值,再利用字符串拼接,去组装成扑克,其中大王、小王单独添加到扑克牌中去2.洗牌 利用集合工具类Collections去实现打散牌的功能 Collections.shuffle(); static void shuffle原创 2022-02-10 11:33:48 · 290 阅读 · 0 评论 -
Java进阶-ArrayList中remove方法重载的最优调用
ArrayList中remove方法重载的最优调用问题描述现在有一个ArrayList<Integer> list = [1, 2, 3, 5, 6, 7]int target = 3;list.remove(target);请问此时list.remove(target);操作之后,list = [1, 2, 3, 6, 7]还是list = [1, 2, 5, 6, 7],换而言之,是会按照索引去删除元素,还是会按照元素删除元素,这里会调用的是remove(Object o),还是原创 2022-02-08 18:08:58 · 296 阅读 · 0 评论 -
Java进阶-ArrayList中漏删的情况
ArrayList中漏删的情况问题描述需求描述: 现需要将ArrayList中存放的所有以“陈”开头的元素删除原始ArrayList: list = [陈奕迅, 陈嘉桦, 陈粒, 五月天, 苏打绿, Oasis, 王菲]目标ArrayList: list = [五月天, 苏打绿, Oasis, 王菲] 最快能想到的做法: 1.遍历list(不能使用增强for以及Iterator,因为会对集合中的元素进行增删改操作,使用了便会报ConcurrentModificationE原创 2022-02-08 17:54:44 · 424 阅读 · 0 评论