目录

一、常见的数据结构

1、栈

 2、队列

3、数组

4、链表

5、红黑树

二、List集合

1、List接口介绍

2、List接口中常用方法

三、List的子类

1、ArrayList集合

2、LinkedList集合

四、Set接口

1、HashSet集合介绍

2、HashSet集合存储数据的结构(哈希表)

3、哈希值 & Set集合存储元素不重复的原理

4、HashSet存储自定义类型元素

5、LinkedHashSet


一、常见的数据结构

1、

stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。

简单的说:采用该结构的集合,对元素的存取有如下的特点

先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素)。
例如,子弹压进弹夹,先压进去的子弹在下面,后压进去的子弹在上面,当开枪时,先弹出上面的子弹,然后才能弹出下面的子弹。
栈的入口、出口的都是栈的顶端位置。

压栈:就是存元素。即,把元素存储到栈的顶端位置,栈中已有元素依次向栈底方向移动一个位置。
弹栈:就是取元素。即,把栈的顶端位置元素取出,栈中已有元素依次向栈顶方向移动一个位置。

 2、队列

队列queue,简称队,它同堆栈一样,也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入,而在表的另一端进行删除。
简单的说,采用该结构的集合,对元素的存取有如下的特点:
先进先出(即,存进去的元素,要在后它前面的元素依次取出后,才能取出该元素)。
例如,小火车过山洞,车头先进去,车尾后进去;车头先出来,车尾后出来。队列的入口、出口各占一侧。例如,下图中的左侧为入口,右侧为出口。

3、数组

数组Array,是有序的元素序列,数组是在内存中开辟一段连续的空间,并在此空间存放元素。就像是一排出租屋,有100个房间,从001到100每个房间都有固定编号,通过编号就可以快速找到租房子的人。
简单的说,采用该结构的集合,对元素的存取有如下的特点:
(1)查找元素快:通过索引,可以快速访问指定位置的元素

 

 (2)增删元素慢

指定索引位置增加元素:需要创建一个新数组,将指定新元素存储在指定索引位置,再把原数组元素根据索引,复制到新数组对应索引的位置。如下图

 

指定索引位置删除元素需要创建一个新数组,把原数组元素根据索引,复制到新数组对应索引的位置,原数组中指定索引位置元素不复制到新数组中。如下图

4、链表

链表:linked list,由一系列结点node(链表中每一个元素称为结点)组成,结点可以在运行时i动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。我们常说的链表结构有单向链表与双向链表。

简单的说,采用该结构的集合,对元素的存取有如下的特点:
(1)多个结点之间,通过地址进行连接。例如,多个人手拉手,每个人使用自己的右手拉住下个人的左手,依次类推,这样多个人就连在一起了。

(2)查找元素慢:想查找某个元素,需要通过连接的节点,依次向后查找指定元素

(3)增删元素快:

增加元素:只需要修改连接下个元素的地址即可。

 删除元素:只需要修改连接下个元素的地址即可。

 

5、红黑树

二叉树binary tree ,是每个结点不超过2的有序树(tree)
简单的理解,就是一种类似于我们生活中树的结构,只不过每个结点上都最多只能有两个子结点。
二叉树是每个节点最多有两个子树的树结构。顶上的叫根结点,两边被称作“左子树”和“右子树”。

 

我们要说的是二叉树的一种比较有意思的叫做红黑树,红黑树本身就是一颗二叉查找树,将节点插入后,该树仍然是一颗二叉查找树。也就意味着,树的键值仍然是有序的。
红黑树的约束:
1. 节点可以是红色的或者黑色的
2. 根节点是黑色的
3. 叶子节点(特指空节点)是黑色的
4. 每个红色节点的子节点都是黑色的
5. 任何一个节点到其每一个叶子节点的所有路径上黑色节点数相同
红黑树的特点:
速度特别快,趋近平衡树,查找叶子元素最少和最多次数不多于二倍


 

二、List集合

1、List接口介绍

java.util.List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了 List 接口的对象称为List集合。在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。
List接口特点:
1. 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)。
2. 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
3. 集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。
tips:我们在基础班的时候已经学习过List接口的子类java.util.ArrayList类,该类中的方法都是来自List中定义。

2、List接口中常用方法

List作为Collection集合的子接口,不但继承了Collection接口中的全部方法,而且还增加了一些根据元素索引来操作集合的特有方法,如下:
public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上。
public E get(int index) :返回集合中指定位置的元素。
public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。
public E set(int index, E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;/*java.util.List接口 extends Collection接口List接口的特点:1.有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123)2.有索引,包含了一些带索引的方法3.允许存储重复的元素List接口中带索引的方法(特有)- public void add(int index, E element): 将指定的元素,添加到该集合中的指定位置上。- public E get(int index):返回集合中指定位置的元素。- public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。- public E set(int index, E element):用指定元素替换集合中指定位置的元素,返回值的更新前的元素。注意:操作索引的时候,一定要防止索引越界异常IndexOutOfBoundsException:索引越界异常,集合会报ArrayIndexOutOfBoundsException:数组索引越界异常StringIndexOutOfBoundsException:字符串索引越界异常*/
public class Demo01List {public static void main(String[] args) {//创建一个List集合对象,多态List<String> list = new ArrayList<>();//使用add方法往集合中添加元素list.add("a");list.add("b");list.add("c");list.add("d");list.add("a");//打印集合System.out.println(list);//[a, b, c, d, a]  不是地址重写了toString//public void add(int index, E element): 将指定的元素,添加到该集合中的指定位置上。//在c和d之间添加一个itheimalist.add(3,"Specter");//[a, b, c, Specter, d, a]System.out.println(list);//public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。//移除元素String removeE = list.remove(2);System.out.println("被移除的元素:"+removeE);//被移除的元素:cSystem.out.println(list);//[a, b, Specter, d, a]//public E set(int index, E element):用指定元素替换集合中指定位置的元素,返回值的更新前的元素。//把最后一个a,替换为AString setE = list.set(4, "A");System.out.println("被替换的元素:"+setE);//被替换的元素:aSystem.out.println(list);//[a, b, Specter, d, A]//List集合遍历有3种方式//使用普通的for循环for(int i=0; i<list.size(); i++){//public E get(int index):返回集合中指定位置的元素。String s = list.get(i);System.out.println(s);}System.out.println("-----------------");//使用迭代器Iterator<String> it = list.iterator();while(it.hasNext()){String s = it.next();System.out.println(s);}System.out.println("-----------------");//使用增强forfor (String s : list) {System.out.println(s);}String r = list.get(5);//IndexOutOfBoundsException: Index 5 out-of-bounds for length 5System.out.println(r);}
}

三、List的子类

1、ArrayList集合

java.util.ArrayList 集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为查询数据、遍历数据,所以 ArrayList 是最常用的集合。
许多程序员开发时非常随意地使用ArrayList完成任何需求,并不严谨,这种用法是不提倡的。

2、LinkedList集合

java.util.LinkedList 集合数据存储的结构是链表结构。方便元素添加、删除的集合。

 双向链表:

 

实际开发中对一个集合元素的添加与删除经常涉及到首尾操作,而LinkedList提供了大量首尾操作的方法。这些方法我们作为了解即可:
public void addFirst(E e) :将指定元素插入此列表的开头。
public void addLast(E e) :将指定元素添加到此列表的结尾。
public E getFirst() :返回此列表的第一个元素。
public E getLast() :返回此列表的最后一个元素。
public E removeFirst() :移除并返回此列表的第一个元素。
public E removeLast() :移除并返回此列表的最后一个元素。
public E pop() :从此列表所表示的堆栈处弹出一个元素。
public void push(E e) :将元素推入此列表所表示的堆栈。
public boolean isEmpty() :如果列表不包含元素,则返回true。
LinkedList是List的子类,List中的方法LinkedList都是可以使用,这里就不做详细介绍,我们只需要了解LinkedList的特有方法即可。在开发时,LinkedList集合也可以作为堆栈,队列的结构使用。(了解即可)
import java.util.LinkedList;/*java.util.LinkedList集合 implements List接口LinkedList集合的特点:1.底层是一个链表结构:查询慢,增删快2.里边包含了大量操作首尾元素的方法注意:使用LinkedList集合特有的方法,不能使用多态- public void addFirst(E e):将指定元素插入此列表的开头。- public void addLast(E e):将指定元素添加到此列表的结尾。- public void push(E e):将元素推入此列表所表示的堆栈。- public E getFirst():返回此列表的第一个元素。- public E getLast():返回此列表的最后一个元素。- public E removeFirst():移除并返回此列表的第一个元素。- public E removeLast():移除并返回此列表的最后一个元素。- public E pop():从此列表所表示的堆栈处弹出一个元素。- public boolean isEmpty():如果列表不包含元素,则返回true。*/
public class Demo02LinkedList {public static void main(String[] args) {show03();}/*- public E removeFirst():移除并返回此列表的第一个元素。- public E removeLast():移除并返回此列表的最后一个元素。- public E pop():从此列表所表示的堆栈处弹出一个元素。此方法相当于 removeFirst*/private static void show03() {//创建LinkedList集合对象LinkedList<String> linked = new LinkedList<>();//使用add方法往集合中添加元素linked.add("a");linked.add("b");linked.add("c");System.out.println(linked);//[a, b, c]//String first = linked.removeFirst();String first = linked.pop();System.out.println("被移除的第一个元素:"+first);String last = linked.removeLast();System.out.println("被移除的最后一个元素:"+last);System.out.println(linked);//[b]}/*- public E getFirst():返回此列表的第一个元素。- public E getLast():返回此列表的最后一个元素。*/private static void show02() {//创建LinkedList集合对象LinkedList<String> linked = new LinkedList<>();//使用add方法往集合中添加元素linked.add("a");linked.add("b");linked.add("c");//linked.clear();//清空集合中的元素 在获取集合中的元素会抛出NoSuchElementException//public boolean isEmpty():如果列表不包含元素,则返回true。if(!linked.isEmpty()){String first = linked.getFirst();System.out.println(first);//aString last = linked.getLast();System.out.println(last);//c}}/*- public void addFirst(E e):将指定元素插入此列表的开头。- public void addLast(E e):将指定元素添加到此列表的结尾。- public void push(E e):将元素推入此列表所表示的堆栈。此方法等效于 addFirst(E)。*/private static void show01() {//创建LinkedList集合对象LinkedList<String> linked = new LinkedList<>();//使用add方法往集合中添加元素linked.add("a");linked.add("b");linked.add("c");System.out.println(linked);//[a, b, c]//public void addFirst(E e):将指定元素插入此列表的开头。//linked.addFirst("www");//两者等效linked.push("www");System.out.println(linked);//[www, a, b, c]//public void addLast(E e):将指定元素添加到此列表的结尾。此方法等效于 add()linked.addLast("com");System.out.println(linked);//[www, a, b, c, com]}
}

 

四、Set接口

java.util.Set 接口和 java.util.List 接口一样,同样继承自 Collection 接口,它与 Collection 接口中的方法基本一致,并没有对 Collection 接口进行功能上的扩充,只是比 Collection 接口更加严格了。与 List 接口不同的是, Set 接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。
Set 集合有多个子类,这里我们介绍其中的 java.util.HashSet 、 java.util.LinkedHashSet 这两个集合。

tips:Set集合取出元素的方式可以采用:迭代器、增强for。

1、HashSet集合介绍

java.util.HashSet Set 接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的(即存取顺序不一致)java.util.HashSet 底层的实现其实是一个 java.util.HashMap 支持。
HashSet 是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能。保证元素唯一性的方式依赖于: hashCode equals 方法。

我们先来使用一下Set集合存储,看下现象,再进行原理的讲解:

package ListAndSet.demo02.Set;import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;/*java.util.Set接口 extends Collection接口Set接口的特点:1.不允许存储重复的元素2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历java.util.HashSet集合 implements Set接口HashSet特点:1.不允许存储重复的元素2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历3.是一个无序的集合,存储元素和取出元素的顺序有可能不一致4.底层是一个哈希表结构(查询的速度非常的快)*/
public class Demo01Set {public static void main(String[] args) {Set<Integer> set = new HashSet<>();//使用add方法往集合中添加元素set.add(1);set.add(3);set.add(2);set.add(1);//使用迭代器遍历set集合Iterator<Integer> it = set.iterator();while (it.hasNext()){Integer n = it.next();System.out.println(n);//1,2,3}//使用增强for遍历set集合System.out.println("-----------------");for (Integer i : set) {System.out.println(i);}}
}

2、HashSet集合存储数据的结构(哈希表)

什么是哈希表呢?
JDK1.8之前,哈希表底层采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,哈希表存储采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。

看到这张图就有人要问了,这个是怎么存储的呢?
为了方便大家的理解我们结合一个存储流程图来说明一下:

总而言之,
JDK1.8引入红黑树大程度优化了HashMap的性能,那么对于我们来讲保证HashSet集合元素的唯一,
其实就是根据对象的hashCodeequals方法来决定的。如果我们往集合中存放自定义的对象,那么保证其唯一,
就必须复写hashCodeequals方法建立属于当前对象的比较方式。

3、哈希值 & Set集合存储元素不重复的原理

/*哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到地址,不是数据实际存储的物理地址)在Object类有一个方法,可以获取对象的哈希值int hashCode() 返回该对象的哈希码值。hashCode方法的源码:public native int hashCode();native:代表该方法调用的是本地操作系统的方法*/
public class Demo01HashCode {public static void main(String[] args) {//Person类继承了Object类,所以可以使用Object类的hashCode方法Person p1 = new Person();int h1 = p1.hashCode();System.out.println(h1);//1967205423  | 1Person p2 = new Person();int h2 = p2.hashCode();System.out.println(h2);//42121758   |  1/*toString方法的源码:return getClass().getName() + "@" + Integer.toHexString(hashCode());*/System.out.println(p1);//ListAndSet.demo03.hashCode.Person@1System.out.println(p2);//ListAndSet.demo03.hashCode.Person@1System.out.println(p1==p2);//false ( 物理地址不相等 )/*String类的哈希值String类重写Obejct类的hashCode方法*/String s1 = new String("abc");String s2 = new String("abc");System.out.println(s1.hashCode());//96354System.out.println(s2.hashCode());//96354System.out.println("重地".hashCode());//37597889System.out.println("通话".hashCode());//37709653}
}
public class Person extends  Object{//重写hashCode方法@Overridepublic int hashCode() {return  1;}
}

 

4、HashSet存储自定义类型元素

HashSet中存放自定义类型元素时,需要重写对象中的hashCodeequals方法,建立自己的比较方式,才能保证HashSet集合中的对象唯一。
import java.util.HashSet;/*HashSet存储自定义类型元素set集合报错元素唯一:存储的元素(String,Integer,...Student,Person...),必须重写hashCode方法和equals方法要求:同名同年龄的人,视为同一个人,只能存储一次*/
public class Demo03HashSetSavePerson {public static void main(String[] args) {//创建HashSet集合存储PersonHashSet<Person> set = new HashSet<>();Person p1 = new Person("小美女",18);Person p2 = new Person("小美女",18);Person p3 = new Person("小美女",19);System.out.println(p1.hashCode());//1967205423System.out.println(p2.hashCode());//42121758System.out.println(p1==p2);//falseSystem.out.println(p1.equals(p2));//falseset.add(p1);set.add(p2);set.add(p3);System.out.println(set);}}
import java.util.Objects;public class Person {private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Person person = (Person) o;return age == person.age &&Objects.equals(name, person.name);}@Overridepublic int hashCode() {return Objects.hash(name, age);}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", age=" + age +'}';}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

5、LinkedHashSet

我们知道HashSet保证元素唯一,可是元素存放进去是没有顺序的,那么我们要保证有序,怎么办呢?
HashSet下面有一个子类 java.util.LinkedHashSet ,它是链表和哈希表组合的一个数据存储结构。
package ListAndSet.demo02.Set;import java.util.HashSet;
import java.util.LinkedHashSet;/*java.util.LinkedHashSet集合 extends HashSet集合LinkedHashSet集合特点:底层是一个哈希表(数组+链表/红黑树)+链表:多了一条链表(记录元素的存储顺序),保证元素有序*/
public class Demo04LinkedHashSet {public static void main(String[] args) {HashSet<String> set = new HashSet<>();set.add("www");set.add("abc");set.add("abc");set.add("Specter");System.out.println(set);//[abc, www, Specter] 无序,不允许重复LinkedHashSet<String> linked = new LinkedHashSet<>();linked.add("www");linked.add("abc");linked.add("abc");linked.add("Specter");System.out.println(linked);//[www, abc, Specter] 有序,不允许重复}
}

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 斐波那契数列--别样的解法--O(N)

    在使用递归来求斐波那契数列时&#xff0c;可以发现&#xff0c;在这个过程中我们重复计算了一些值&#xff0c;如下图所示&#xff0c;很多值都计算过了&#xff0c;但在递归过程我们没有做其他的操作&#xff0c;所以就只能重复的算下去&#xff0c;那如果我们将计算的值保存…...

    2024/5/6 8:57:04
  2. 手把手教你学ESP32开发-第一篇:ArduinoIDE+ESP32搭环境

    前言废话&#xff0c;着急的人不用看&#xff1a;大家好久不见呀&#xff0c;我是学渣韩。我不喜欢讲太多的理论和公式推导&#xff0c;我喜欢从应用角度出发&#xff0c;直接上代码&#xff0c;咱们边写边学。如果你是零基础&#xff08;高中生水平&#xff09;&#xff0c;你…...

    2024/4/14 15:04:35
  3. c++基础——结构体

    一、基本概念 结构体属于用户自定义的数据类型&#xff0c;允许用户存储不同的数据类型&#xff0c;可以容纳需要的任意多数据项 二、定义及使用 1、语法&#xff1a; struct 结构体名 { 类型名 成员名&#xff1b;类型名 成员名&#xff1b;}&#xff1b; 这里结构体名是类…...

    2024/4/14 7:46:58
  4. java学习(一)——基础知识

    JAVA学习第一周 一、前瞻知识 1.java跨平台原理 在需要运行java程序的操作系统上安装一个与操作系统对应的java虚拟机&#xff08;JVM&#xff09; 2.JDK与JRE 2.1 JRE是java程序的运行环境&#xff0c;包含JVM和运行所需要的核心类库 2.2 JDK是java程序开发工具包&#x…...

    2024/5/6 7:03:30
  5. 注册事件和删除事件的方法

    注册事件 传统注册方式&#xff1a; //利用on开头的事件 <button onclick"alert(xxx)"></button> btn.onclickfunction() {}注意&#xff1a;传统方法注册事件具有唯一性&#xff0c;后注册事件覆盖先注册事件 事件监听方式&#xff1a;(最常用&#xf…...

    2024/4/14 7:47:03
  6. move 和 forward

    move 关键的话&#xff1a; std::move 并不进行任何移动&#xff0c;std::forward 也不进行任何转发。 move 和 forward 在运行期都无所作为。不会生成任何可执行代码&#xff0c;连一个字节都不会生成。 函数形参永远是左值。 具名变量永远是左值。但是不具名的变量不一定…...

    2024/5/6 5:49:05
  7. ROS学习入门_话题通信自定义msg消息C++实现

    话题通信自定义msg 创建自定义消息&#xff0c;该消息包含人的信息:姓名、身高、年龄等。 流程: 按照固定格式创建 msg 文件编辑配置文件编译生成可以被 Python 或 C 调用的中间文件 在src 创建day03 功能包 catkin_creat_pkg day03 roscpp rospy std_msgs在day03的目录下面…...

    2024/5/6 5:32:04
  8. 专科毕业三年,从外包公司到今日头条offer,我想把面试心得分享给你

    美团 RN 相对于原生 RN 的有什么优势 【3面 - 基础加深】 你们公司 Picasso 有使用过没&#xff0c;介绍下 Picasso 单引擎&#xff0c;在多 Bundle 的情况下怎么保证数据隔离的&#xff1f; 美团 RN 与 Picasso 的区别 4.省略若干项目相关问题… RN 的页面追踪埋点如何实…...

    2024/5/6 6:32:15
  9. 蓝桥杯快速通关篇,pwm方波输出

    pwm方波输出 文章目录pwm方波输出前言pwm是什么蓝桥桥杯是怎么考pwm输出的具体步骤官方库中的标准例程#修改代码时钟和GPIO输出频率的初始化不同占空比的pwm波输出验证程序是否工作总结&#xff08;重要&#xff09;调用&#xff08;关键部分&#xff09;修改后的完整代码如下调…...

    2024/4/7 16:10:56
  10. 轻松学会Python turtle库的运用

    一、turtle简单介绍 1.Turtle库是python语言中一个很流行的函数库&#xff0c;基于thinker模块打造&#xff0c;提供一些比较简单的绘画工具&#xff0c;通过一组或多组函数指令的控制&#xff0c;在坐标系中移动&#xff0c;绘制图形 2.Turtle库近年来也多被用于新手学习pyt…...

    2024/4/14 7:47:13
  11. 试题 算法训练 素因子去重

    问题描述 给定一个正整数n&#xff0c;求一个正整数p&#xff0c;满足p仅包含n的所有素因子&#xff0c;且每个素因子的次数不大于1 输入格式 一个整数&#xff0c;表示n 输出格式 输出一行&#xff0c;包含一个整数p。 样例输入 1000 样例输出 10 数据规模和约定 n<…...

    2024/4/14 7:47:13
  12. Python第六周学习笔记

    目录 Python中的file&#xff08;文件&#xff09;操作 open&#xff08;&#xff09;函数 1、文件写入 2、文件读取 3、文件操作的另外一个方法 4、文件操作相关函数 writelines&#xff08;&#xff09;函数&#xff1a; readline&#xff08;&#xff09;函数 和 rea…...

    2024/5/6 6:57:31
  13. JavaScript学习记录(二)

    JavaScript学习记录&#xff08;二&#xff09;数组创建数组访问数组元素新增数组元素案例&#xff1a;筛选数组删除数组指定元素&#xff08;数组去重&#xff09;翻转数组冒泡排序函数带参数的函数带有返回值的函数arguments函数的两种声明方式作用域作用域链闭包预解析对象创…...

    2024/4/14 7:47:18
  14. 花里胡哨的东西(二):IDEA集成Docker,通过CA认证方式安全链接到Docker,实现一键部署

    花里胡哨的东西&#xff08;一&#xff09;&#xff1a;IDEA集成Docker&#xff0c;通过CA认证方式安全链接到Docker,实现一键部署 一、CA认证 1、先在/usr/local目录下创建个文件夹,这里取名叫ca,然后进入ca文件夹中 mkdir -p /usr/local/ca cd /usr/local/ca2、依次执行下…...

    2024/4/14 7:47:08
  15. PAT甲级真题-C++-The Largest Generation

    The Largest Generation-->练习此题<--题目描述: A family hierarchy is usually presented by a pedigree tree where all the nodes on the same level belong to the same generation. Your task is to find the generation with the largest population. 输入描述: E…...

    2024/4/14 7:47:18
  16. IDEA配置JAVA及SCALA环境

    阅文时长| 0.11分钟字数统计| 189.6字符主要内容| 1、引言&背景 2、解决方案 3、声明与参考资料 『IDEA配置JAVA及SCALA环境』编写人| SCscHero 编写时间| 2022/1/23 AM1:1文章类型| 系列完成度| 已完成座右铭每一个伟大的事业&#xff0c;都有一个微不足道的开始。 一、引…...

    2024/4/20 1:45:08
  17. SSRF(服务器端请求伪造)漏洞

    0x00 漏洞描述 SSRF(Server-Side Request Forgery)&#xff0c;服务器端请求伪造。是一种由恶意访问者构造形成由服务端发起请求的一个安全漏洞。 一般情况下&#xff0c;SSRF访问的目标是从外网无法访问的内部系统。&#xff08;正是因为它是由服务端发起的&#xff0c;所以它…...

    2024/4/14 7:47:49
  18. golang学习笔记007--函数,包和错误处理

    目录1.函数2.包3.函数调用机制4.return语句5.递归6.函数使用注意事项和细节7.init函数8.匿名函数8.1 匿名函数使用方式18.2 匿名函数使用方式28.3 全局匿名函数9.闭包9.1 闭包介绍9.2 闭包的最佳实践10.函数的defer10.1 为什么需要defer10.2 defer注意事项10.3 defer的最佳实践…...

    2024/4/14 7:48:19
  19. 大学物理学下——静电场04电场线与电通量

    目录 1 电场线 1.1 概念 1.2 规定 1.3 电场线分布图例 1.3.1 单个正负电荷电场线分布 1.3.2 一对等量正点电荷 1.3.3 一对等量异号点电荷 1.4 电场线特征 2 电场强度通量​ 2.1 定义 2.2 通量的计算 2.2.1 匀强电场与平面夹角 2.2.2 非匀强电场&#xff0c;曲面S …...

    2024/4/14 9:51:29
  20. errors合集

    1、 不知道怎么回事&#xff0c;我这些程序包都在&#xff0c;而且都是我一个字一个字敲上去的。。。 待解决&#xff01; 2、 每次都在代码上点右键&#xff0c;出来&#xff0c;remove BOM 就好了。但是是权宜之策&#xff0c;每写一个类就会这样。 在setting里面设置&…...

    2024/4/14 7:47:59

最新文章

  1. 治疗耳鸣患者案例分享第二期

    “患者耳鸣20年了&#xff0c;目前耳朵没有堵或者胀的感觉&#xff0c;但是偶尔有点痒&#xff0c;平时会有头晕头胀这种情况&#xff0c;然后头晕是稍微晕炫一下。然后头疼是经常有的&#xff0c;头胀不经常。” 患者耳鸣持续20年&#xff0c;虽然耳朵没有堵或胀的感觉&#x…...

    2024/5/6 9:13:36
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. HTML——3.链接、头部、图像

    一、链接 HTML 中的链接由 <a> 标签定义&#xff0c;用于创建可点击的文本或图像&#xff0c;以便导航到其他页面或资源。下面是一个简单的 HTML 链接示例&#xff1a; <a href"https://www.example.com">Visit Example</a> 在这个示例中&#…...

    2024/5/5 23:13:38
  4. 【浅谈面向过程和面向对象的区别】

    面向对象和面向过程是两种不同的编程范式&#xff0c;它们在处理问题和构建软件时有着显著的区别。 一、面向过程 1、基本概念 面向过程编程是一种早期的程序设计范型&#xff0c;它以事件为中心&#xff0c;主要关注“怎么做”&#xff0c;即完成任务的具体步骤。它将问题分…...

    2024/5/5 8:44:08
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/4 23:55:17
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57