day15

.

数组中的元素如果是非引用类型.不能修改这个元素的内容,不管是不是引用类型都不能修改这个元素本省的值

forEach可以修改素组元素.不返回值


map

和forEach是一样的东西

作用:遍历数组,每次遍历要求回调函数返回一个值,将每次返回的值放在一个新数组中,特点:不遍历空元素

undefined,undefined,13,14

使用目的:不是为了遍历,是为了返回新数组,并且新数组与原数组相同.

复制数组:

....................

...................


随机获取0---1之间的任意小数,不可能等于0或者1

0到16 之间取随机数,实际上得到0----15之间的数 或者15.999

toString,转换成指定进制的字符串

转换为16进制字符串(求随机色)

法二(链式调用)


浅复制

越往里层修改越改变,两个数组越改变


检验数组中有没有大于6000的价格

............................

every遍历数组,查看是不是所有数组都满足条件

条件写在循环的return当中.

find查找:


reduce

特点:所有方法中,速度最快的.

归并

结构:

arr.reduce(function(value,item,index,array)){

},initValue)

归并  只在遍历数组后返回一个值,这个值可以是任何类型,比如数组,对象,布尔值,

1.如果initvalue不为空传参了,value就是initVal

最后一个return的结果返回到reduce外

这个归并,可以修改原数组,可以修改任何元素的归并.

归并实现filter的功能

范围查找:

.....

reduceRight从后向前归并


filter

写法:

返回一个新数组,可以修改新数组.

数组去重

.................

flat和flatMap

扁平化数组

将多维数组,变成一维数组(指定的维度数组)

arr.flat(n)n就是扁平化几层,默认值为1

原数组扁平化后不改变,只返回一个扁平化的新数组.

............................

flatMap具备flat扁平化1层的特点,也具备map的返回内容方式.

排序

(冒泡排序)

......................

选择排序(改变原数组)

不断找到小的,放前面

快排(不改变原数组,返回一个新数组)

堆排序

缺点:小数,字符串,负数...不能拍,只能排列正整数.

数组排序(sort)

数组的排序是按照冒泡排序来做的

速度快不快,占用的空间大不大,排序效率稳不稳定时快时慢.

sort自带字符串排序(改变原数组)

..................................

倒序reverse(改变原数组,返回倒序后的新数组)

仅倒序不排序

............................................

倒序,不改变原数组,返回一个倒叙后的新数组

.................................................

toSorted

toSplice(与splice相同,可以添加和替换元素,不同的是,不改变原数组,但是无法获取被删除的元素)

判断相等的问题

两个等号==

.

### 黑马 Java Day 15 课程资料与教程 #### 一、多线程编程基础 在黑马程序员Java培训的第15天,重点讲解了多线程的基础概念及其创建方式。Java中的线程是程序执行流的最小单位,在现代操作系统中可以并发运行多个线程来提高效率[^4]。 对于线程的创建有两种主要方法:继承`Thread`类重写其`run()`方法;实现`Runnable`接口同样需要定义该方法并由外部传入到`Thread`实例中启动新线程。这两种方式各有优劣,前者更直观但可能造成单继承局限性;后者则更加灵活适用于资源共享场景[^4]。 ```java // 继承 Thread 类的方式 class MyThread extends Thread { public void run() { System.out.println("This is a thread by extending Thread class."); } } // 实现 Runnable 接口的方式 class MyRunnable implements Runnable { @Override public void run() { System.out.println("This is a thread by implementing Runnable interface."); } } ``` #### 二、线程同步机制 当涉及到共享资源访问时,为了防止数据竞争条件的发生,引入了锁的概念用于控制同一时刻只有一个线程能够操作特定区域内的代码——即所谓的临界区。可以通过`synchronized`关键字修饰方法或语句块达到此目的[^4]。 ```java public synchronized void criticalSectionMethod(){ // 只有一个线程能进入这段代码 } ``` 或者使用显式的对象监视器: ```java Object lock = new Object(); synchronize(lock){ // 同步代码块 } ``` #### 三、高级特性介绍 除了基本的操作外,还探讨了一些更为复杂的主题如守护进程(daemon threads),它们通常作为服务提供者存在而不参与应用程序的主要逻辑流程;以及如何通过`join()`函数等待其他线程完成工作后再继续执行当前线程的任务等实用技巧[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值