原文链接:https://javaguide.cn

集合面试常问

  • Java集合框架继承图
  • 综合面试题
    • 1.说说List、Set、Queue和Map四者的区别、
    • 2.集合的底层数据结构
    • 3.如何选取集合结构?
    • 4.我们为什么要使用集合?
  • List
    • 1.ArrayList和Vector的区别?
    • 2.ArrayList与LinkedList的区别?
    • 3.System.arraycopy()方法和Arrays.copyOf()方法的区别
    • 4.ensureCapacity()方法的作用
    • ArrayList扩容
  • Set
    • 1.comparable 和 Comparator 的区别
    • 2.无序性和不可重复性的含义
    • 3.比较HashSet、LinkedListHashSet、TreeSet的异同
  • Queue
    • 1.Queue与Deque的区别
    • 2.ArrayDeque和LinkedList的区别
    • 3.简单说一下PriorityQueue
  • Map
    • 1.HashMap和Hashtable的区别
    • 2.HashMap和HashSet的区别
    • 3.HashMap和TreeMap的区别
    • 4.HashSet如何检查重复?
    • 5.HashCode与equals的相关规定
    • 6.==和equals的区别
    • 7.HashMap的长度为什么是2的n次方?
    • 8.HashMap多线程下操作导致死循环问题
    • 9.ConcurrentHashMap 和 Hashtable 的区别
  • HashMap
    • 1.put数据时key与已有数据的HashCode相等时会怎么样?
    • 2.什么时候会产生hash碰撞?如何解决哈希碰撞?
    • 3.如果hashCode相同,那么如何存储key-value对?
    • 4.HashMap如何进行扩容?
    • 5.如果确定了要存储的元素个数n,设置多少的初始容量可以减少扩容导致的性能损失?
  • Collections工具类
    • 排序操作
    • 查找,替换
  • 集合注意事项
    • 集合判空
    • 集合转化Map
    • 集合遍历
    • 集合去重
    • 集合转数组
    • 数组转集合

Java集合框架继承图

在这里插入图片描述

综合面试题

1.说说List、Set、Queue和Map四者的区别、

  • List 存储的元素是有序的、可重复的
  • Set 存储的元素是无序的、不可重复的
  • Queue 按照特定的排队规则来排序,存储的元素是有序的、可重复的
  • Map 使用key-value来进行存储数据,key是无序的、不可重复的,value是无序的、可重复的

2.集合的底层数据结构

List

  • ArrayList Object[]数组
  • Vector Object[]数组
  • LinkedList 双向链表(jdk1.6之前是循环链表,1.7取消了循环)

Set

  • HashSet(无序、唯一) 底层采用HashMap来保存元素
  • TreeSet(有序、唯一) 底层采用红黑树(自平衡的二叉排序树)实现

Queue

  • ArrayQueue Object[]数组 + 双指针
  • PriorityQueue Object[]数组来实现二叉堆

Map

  • HashMap jdk1.8之前由数组+链表组成,数组是HashMap的主体,而链表主要是为了解决哈希冲突。jdk1.8之后引入了红黑树。当链表长度大于等于8且数组长度大于等于64,链表就会转化为红黑树。如果只满足一个条件,那么会优先选择数组扩容。
  • TreeMap 红黑树(自平衡的二叉排序树),底层是基于TreeSet实现的。
  • HashTable 数组+链表组成,数组是HashTable的主题,链表则是主要是为了解决哈希冲突而存在的。

3.如何选取集合结构?

  • 如果我们需要根据键值来获取元素值,就可以选用Map接口下的集合。需要排序就选用TreeMap,不需要排序就选用HashMap,需要保证线程安全就选用ConcurrentHashMap;
  • 如果我们只需要存放元素值,就选择实现Collection接口的集合。需要保证元素唯一时选择Set接口下的集合,比如TreeSet或者是HashSet,不需要就选用List接口下的集合,比如ArrayList或者LinkedList。

4.我们为什么要使用集合?

当我们需要保存一组类型相同的数据的时候,由于数据的类型是多种多样的,所以我们使用了集合。集合提高了数据存储的灵活性,还可以保存具有映射关系的数据。

List

1.ArrayList和Vector的区别?

  • ArrayList是List的主要实现类,底层使用Object[]数组存储,线程不安全;
  • Vector是List的古老实现类,底层使用Object[]存储,线程安全。

2.ArrayList与LinkedList的区别?

​ (1)是否保证线程安全: ArrayList和LinkedList都是不同步的、线程不安全的。

​ (2)底层实现: ArrayList底层使用Object[]数组实现,LinkedList底层使用双向链表实现。(jdk1.6之前是双向循环链表,1.6之后取消了循环)。

​ (3)是否支持快速随机访问: ArrayList底层使用数组实现,支持快速访问。而LinkedList底层是链表实现,不支持快速访问。

​ (4)空间内存占用:ArrayList的空间浪费主要体现在list列表结尾会预留一定的容量空间,而LinkedList的空间花费则体现在它的每一个元素存储都需要比ArrayList消耗更多的空间(因为节点要放置前驱和后继)。

3.System.arraycopy()方法和Arrays.copyOf()方法的区别

通过查看源码我们可以知道,Arrays.copyOf()方法内部调用了System.arraycopy()方法。

arraycopy()方法需要目标数组,将原数组拷贝到自定义的数组中或者是原数组,并且可以选择拷贝的起点以及放入新的数组中的位置。

copyOf()时系统自动在内部新建一个数组,并返回该数组。

拓展:

​ ArrayList实现了RandomAccess接口,只是作为一个标识,说明ArrayList支持快速随机访问功能。

4.ensureCapacity()方法的作用

ensureCapacity()方法并不是在ArrayList内部调用的,而是提供给用户来使用的,在向ArrayList里面添加大量元素之前最好先使用ensureCapacity方法,以减少增量重新分配的次数,提高效率。

ArrayList扩容

当使用无参构造方法直接创建ArrayList集合时,初始化的数组是一个空的数组,只有在add第一个元素时,数组的大小才会初始化为10,直到添加第11个元素时,ArrayList才会进行扩容操作。

Set

1.comparable 和 Comparator 的区别

  • comparable接口实际上是出自java.lang包中的一个CompareTo(Object obj)方法用来排序;
  • comparator实际上是出自java.util包中有一个compare(Object obj1,Object obj2)方法来排序。

当我们需要对一个集合进行自定义排序后,我们就要重写CompareTo或者是compare方法。

2.无序性和不可重复性的含义

(1)无序性?无序性不等于随机性,无序性是指存储的数据在底层数组中并非按照数组索引的顺序添加,而是根据数据的哈希值决定的。

(2)不可重复性?不可重复性是指添加的元素按照equals判断时,返回false,需要同时重写equals方法和hashCode方法。

3.比较HashSet、LinkedListHashSet、TreeSet的异同

  • HashSet、LinkedListHashSet、TreeSet三者都是Set集合的实现类,都能保证元素唯一,并且都不是线程安全的。
  • HashSet、LinkedListHashSet、TreeSet的主要区别在于底层数据结构不同。HashSet底层数据结构式HashMap(哈希表);LinkedListHashSet的底层数据结构是链表和哈希表。TreeSet的底层数据结构是红黑树,元素是有序的。
  • HashSet用于不需要保证元素插入和去除顺序的场景;LinkedListHashSet用于保证元素的插入和取出满足FIFO的场景;TreeSet用于支持元素自定义排序规则的场景。

Queue

1.Queue与Deque的区别

Queue是单端队列,只能从一端插入元素,另一端删除元素,遵循FIFO的规则。

Queue根据容量问题而导致操作失败后的处理方式不同。一种抛出异常,一种返回null。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zzn588QN-1642240006941)(F:\笔记\深入java基础\面试题截图\Queue接口.png)]

Deque是双端队列,在队列的两端均可以插入或者删除元素。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RQh5h1Ya-1642240006942)(F:\笔记\深入java基础\面试题截图\Deque方法.png)]

实际上,Deque还提供了其他的方法,可以当作栈来使用。

2.ArrayDeque和LinkedList的区别

ArrayDeque和LinkedList都实现了Deque接口,两者都可以当作队列来使用。

  • ArrayDeque是基于可变容量的数组和双指针来实现的,而LinkedList是通过链表来实现的
  • ArrayDeque不支持Null数据,而LinkedLisr可以使用Null数据
  • ArrayDeque是在jdk1.6引入的,而LinkedList早在jdk1.2都已存在
  • ArrayDeque插入时可能存在扩容过程,不过插入的操作时间复杂度仍为O(1),虽然LinkedList不需要扩容,但是每次插入数据时都需要重新申请空间,性能相比更差一点

从性能上来说,ArrayDeque来实现队列要比LinkedList要好一点,另外,ArrayDeque也可以直接用作栈。

3.简单说一下PriorityQueue

PriorityQueue是在jdk1.5被引入的,与Queue得区别在于元素出队顺序是与优先级相关得,即总是优先级高的元素出队列。

  • PriorityQueue利用了二叉堆的数据结构来实现,底层使用可变长的数组来存储数剧
  • PriorityQueue通过堆元素的上浮和下沉,实现了在(logn)的时间复杂度内插入元素和删除堆顶元素
  • PriorityQueue是非线程安全的,而且不支持存储NULL对象
  • PriorityQueue默认是小顶堆,但是可以接收一个comparator作为构造参数,可以自定义元素优先级的先后

Map

1.HashMap和Hashtable的区别

  • 线程是否安全:HashMap是非线程安全的,而Hashtable是线程安全的。Hashtable内部的方法基本都经过synchronized修饰。
  • 效率:因为线程安全的问题,HashMap要比Hashtable效率高,而且Hashtable已经快要淘汰了。
  • 初始容量和每次扩充容量的大小:①创建时如果不指定初始容量,Hashtable默认初始容量为11,每次扩充之后,边缘原来的 2n+1 ;而HashMap默认初始化大小为16,每次扩容会变为原来的2倍。②如果给定容量大小,Hashtable就会使用给定容量大小,而HashMap就会将其扩充为大于原来数值的最小的2的n次幂的大小。
  • 底层数据结构:JDK1.8之后HashMap在解决哈希冲突时,当链表长度大于8且数组长度大于64,链表就会转化为红黑树,若有一个条件不满足,那么会优先选择数组扩容。而Hashtable没有这样的机制。

2.HashMap和HashSet的区别

HashSet底层就是基于HashMap实现的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C4FWRos7-1642240006943)(F:\笔记\深入java基础\面试题截图\HashMap和HashSet的区别.png)]

3.HashMap和TreeMap的区别

HashMap和TreeMap都继承于AbstractMap,但是TreeMap还实现了NavigableMap接口和SortedMap接口。

  • 实现Navigable接口让TreeMap对集合内元素有了搜索的功能;
  • 实现SortedMap接口让TreeMap有了对集合中的元素根据键排序的能力。

相比来说,TreeMap多了对集合中元素根据键排序的功能和对集合元素进行搜索的能力。

4.HashSet如何检查重复?

当把对象加入到HashSet中时,HashSet会先计算对象的hashCode值来判断对象加入的下标位置,同时也会与其他的对象的hashCode进行比较,如果没有相同的,就直接插入数据;如果有相同的,就进一步使用equals来进行比较对象是否相同,如果相同,就不会加入成功。

5.HashCode与equals的相关规定

(1)如果两个对象相等,则hashCode也一定是相等的

(2)两个对象相等,对两个进行equals也会返回true

(3)两个对象有相同的hashCode,他们也不一定是相等的

(4)hashCode和equals方法都必须被同时覆盖

6.==和equals的区别

对于基本类型来说,==比较的是值是否相等;

对于引用类型来说,equals比较的是两个引用是否指向同一个对象地址

对于引用类型(包括包装类型)来说,如果equals没有被重写,对比他们的地址是否相同,如果被重写,则比较的是地址里的内容是否相同。

7.HashMap的长度为什么是2的n次方?

为了能让HashMap存取高效,尽量减少哈希碰撞,尽量把数据均匀分配。

8.HashMap多线程下操作导致死循环问题

主要原因是并发下的Rehash会造成元素之间形成一个循环链表。多线程下HashMap会存在数据丢失的问题,并发环境下推荐使用Concurrent Hash Map、

9.ConcurrentHashMap 和 Hashtable 的区别

ConcurrentHashmap和Hashtable的区别主要体现在实现线程安全的方式上不同

  • 底层数据结构: jdk1.7的ConcurrentHashMap底层采用分段的数组+链表实现,jdk1.8采用的数据结构跟HashMap1.8的结构是一样的,数组+链表/红黑树。Hashtable和jdk1.8之前的HashMap的底层数据结构类似,都是采用数组+链表的形式, 数组是hashMap的主体,链表则是为了解决哈希冲突。
  • 实现线程安全的方法:①在1.7的时候,ConcurrentHashMap(分段锁)对整个桶数组进行了分割分段(Segment),到1.8直接使用数组+链表+红黑树的实现。

HashMap

1.put数据时key与已有数据的HashCode相等时会怎么样?

会产生哈希碰撞。

如果Hash码相同,则会通过equals方法进行比较key是否相同:

​ 如果key值相同,则使用新的value代替旧的value;

​ 如果key值不相同,则会在该节点的链表结构上新增一个节点(如果链表长度>=8并且数组节点数>=64 ,链表结构就会转化成红黑树)。

2.什么时候会产生hash碰撞?如何解决哈希碰撞?

只要通过hash函数计算所得到的两个元素的hash值相同就会产生hash碰撞。

HashMap在jdk8之前采用链表解决哈希碰撞,jdk8之后采用链表+红黑树解决哈希碰撞。

3.如果hashCode相同,那么如何存储key-value对?

当hashCode值相同时,就会进一步使用equals方法进行比较key是否相同。

如果key相同,那么新值覆盖旧值;

如果key不相同,则将新的key-value添加到HashMap中。

4.HashMap如何进行扩容?

当通过put方法不断进行数据添加时,如果元素个数超过了当前阈值就会进行扩容,默认扩容大小是原来的2倍,扩容之后会将原来的数据复制到新的数组中。

5.如果确定了要存储的元素个数n,设置多少的初始容量可以减少扩容导致的性能损失?

应该设置初始容量为 n/0.75 + 1 取整即可减少resize导致的性能损失。

Collections工具类

常用方法:

  • 排序
  • 查找,替换
  • 同步控制(不推荐)

排序操作

void reverse(List list)//反转
void shuffle(List list)//随机排序
void sort(List list)//按自然排序的升序排序
void sort(List list, Comparator c)//定制排序,由Comparator控制排序逻辑
void swap(List list, int i , int j)//交换两个索引位置的元素
void rotate(List list, int distance)//旋转。当distance为正数时,将list后distance个元素整体移到前面。当distance为负数时,将 list的前distance个元素整体移到后面

查找,替换

int binarySearch(List list, Object key)//对List进行二分查找,返回索引,注意List必须是有序的
int max(Collection coll)//根据元素的自然顺序,返回最大的元素。 类比int min(Collection coll)
int max(Collection coll, Comparator c)//根据定制排序,返回最大元素,排序规则由Comparatator类控制。类比int min(Collection coll, Comparator c)
void fill(List list, Object obj)//用指定的元素代替指定list中的所有元素
int frequency(Collection c, Object o)//统计元素出现次数
int indexOfSubList(List list, List target)//统计target在list中第一次出现的索引,找不到则返回-1,类比int lastIndexOfSubList(List source, list target)
boolean replaceAll(List list, Object oldVal, Object newVal)//用新元素替换旧元素

集合注意事项

集合判空

集合判断是否为空,使用isEmpty()的方法,而不是size==0的方式

因为isEmpty()方法的可读性好,而且时间复杂度为O(1)

集合转化Map

使用Java.util.stream.Collectors类的toMap()方法转化为map集合时,要注释当value为null时会抛出NPE异常。

集合遍历

不要在foreach里面进行元素的remove/add操作,remove请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。

fail-fast 机制 :多个线程对 fail-fast 集合进行修改的时候,可能会抛出ConcurrentModificationException

集合去重

可以利用Set元素唯一的特性,进行集合去重,避免使用List的contains进行遍历去重或者判断包含操作

集合转数组

使用集合转数组的方法,必须使用集合的toArray(T[] array),传入的类型完全一致,长度为0的空数组。

toArray(T[] array) 方法的参数是一个泛型数组,如果 toArray 方法中没有传递任何参数的话返回的是 Object类 型数组。

数组转集合

使用工具类Arrays.asList()把数组转化成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportedOperationException异常。

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

相关文章

  1. 极简版IP

    文章目录IPIPV4IPV6公网-私网端口TCP,UDPTCPTomcatUDPIP ip地址:InetAddress 唯一定位一台网路上的计算机127.0.0.1 : localhost IPV4 32位,4字节。 IPV6 128位,8个无符号整数。16进制。 公网-私网 互联网-局域…...

    2024/4/27 21:23:05
  2. 【基础算法】约数个数约数之和(Acwing870题Acwing871题)

    关于约数(划重点) 如果 N p1^c1 * p2^c2 * ... *pk^ck 约数个数: (c1 1) * (c2 1) * ... * (ck 1) 约数之和: (p1^0 p1^1 ... p1^c1) * ... * (pk^0 pk^1 ... pk^ck) 关于取模 (a b) % p (a%p b%p) %p (a - b) % …...

    2024/4/28 4:33:32
  3. 扒一扒一致性Hash算法+Java版案例演示

    title: 一致性Hash算法与Java实现 date: 2022/1/15 15:15:30 文章目录一致性Hash算法的应用领域详解一致性Hash算法hash(key)%集群节点数一致性Hash算法一致性Hash环虚拟节点手写一个一致性Hash算法一致性Hash算法的应用领域 对于一致性Hash算法而言,我们可以在很多…...

    2024/4/28 0:49:50
  4. 【Leetcode刷题笔记之链表篇】234. 回文链表

    😈博客主页:🐼大家好我叫张同学🐼 💖 欢迎点赞 👍 收藏 💗留言 📝 欢迎讨论! 👀 🎵本文由 【大家好我叫张同学】 原创,首发于 CSDN &a…...

    2024/4/27 21:19:14
  5. QT从入门到入土(九)——TCP/IP网络通信(以及文件传输)

    ** 引言 ** TCP/IP通信(即SOCKET通信)是通过网线将服务器Server端和客户机Client端进行连接,在遵循ISO/OSI模型的四层层级构架的基础上通过TCP/IP协议建立的通讯。控制器可以设置为服务器端或客户端。 关于TCP/IP协议可详看:TC…...

    2024/4/28 12:55:03
  6. Elastic实战:项目中已经剔除了spring data elasticsearch依赖,但启动项目仍然会进行es健康检查

    1. 问题 在实际开发中遇到一个问题:原本在springboot项目中引入了spring data elasticsearch的依赖,后因调整将这个依赖从这个服务中删除了,但是启动服务仍然会进行es的健康检查。也就导致一直有警告日志输出:connection refuse …...

    2024/4/17 7:23:12
  7. <T>是泛型,传入的参数是T,绝不能传入List<T>

    C#的<T>是泛型。List 是集合。 List<T>是泛型集合。 例如以下两种方法传参数时要注意: 传入的参数是T,绝不能传入List<T> ① EF Add方法 /// <summary> /// 新增一个对象 /// </summary> /// <typeparam name"TEntity"></…...

    2024/4/18 18:40:43
  8. SpringMV C面试整理

    1、 什么是 SpringMvc? SpringMvc是spring的一个模块&#xff0c;基于MVC的一个框架&#xff0c;无需中间整合 层来整合。 2、 Spring MVC 的优点&#xff1a; 它是基于组件技术的.全部的应用对象&#xff0c;无论控制器和视图&#xff0c;还是业务对象 之类的都是java组件.…...

    2024/4/28 7:56:46
  9. Vulnhub靶机:CYNIX_ 1

    目录介绍信息收集主机发现主机信息探测网站探测目录扫描网站测试读取SSH私钥SSH连接靶机第一个Flag提权lxd提权第二个Flag参考介绍 难度&#xff1a;中等 靶机发布日期&#xff1a;2019年11月27日 Flag两个&#xff1a;User flag: user.txt&#xff1b;Root flag: root.txt 靶…...

    2024/4/28 9:01:57
  10. 脚手架搭建项目遇到的问题和教程

    安装脚手架遇到的问题和教程 遇到的问题&#xff1a;在cmd窗口中输入&#xff1a;vue init webpack 项目名 &#xff0c;显示vue init webpack 项目名 不是内部命令或外部命令。 解决方案&#xff1a;可能是没有搭建脚手架的原因&#xff0c;应该先搭建脚手架&#xff0c;然后…...

    2024/4/19 0:54:37
  11. C# WinForm控件随窗体大小改变自动适应改变

    C# WinForm控件随窗体大小改变自动适应改变 在设计可供用户调整大小的窗体时&#xff0c;如何实现该窗体上的控件也应能正确地随窗体的改变而自动调整大小并且能重新定位&#xff1f;此时就要借助控件的&#xff0e;Anchor属性。Anchor属性定义控件的定位点位置。当控件锚定到某…...

    2024/4/14 19:05:27
  12. proxy解决跨域问题

    本文基于对王红元老师的学习&#xff0c;很荣幸是他的一名学生 1.proxy介绍 proxy是我们开发中非常常用的一个配置选项&#xff0c;它的目的设置代理来解决跨域访问的问题&#xff1a; p比如我们的一个api请求是 http://localhost:8888&#xff0c;但是本地启动服务器的域名是…...

    2024/4/14 19:05:02
  13. java String字符、字节、字符串及其常见方法详解

    文章目录前言一、字符&#xff0c;字节与字符串1.1字符与字符串1.2字节与字符串1.3小结二、字符串常见操作2.1字符串比较2.2字符串查找2.3字符串替换2.4字符串拆分2.5字符串截取2.6其他操作方法三、StringBuffer和StringBuilder总结前言 String是我们学习java中非常重要的一个…...

    2024/4/14 19:05:02
  14. selenium 火狐浏览器下载文件

    f webdriver.FirefoxProfile() f.set_preference("browser.download.folderList", 2) # 设置为0&#xff0c;表示文件下载到浏览器默认的下载路径&#xff1b;设置为2&#xff0c;表示文件会下载到指定的目录 f.set_preference("browser.download.dir", …...

    2024/4/16 22:11:00
  15. 车联网通信协议之C-V2X

    C-V2X(即Cellular Vehicle to Everything&#xff0c;蜂窝车联网)就是利用蜂窝网络将车辆与一切事物连接的技术。其中&#xff0c;Cellular技术包括3G/4G/5G&#xff0c;V2X包括V2V(Vehicle to Vehicle&#xff0c;车与车之间)、V2I(Vehicle to Infrastructure&#xff0c;车与…...

    2024/4/20 13:34:08
  16. 机器学习(24天,二叉树的建立)

    代码方面&#xff1a; 整个二叉树的建立在最初可能会略显繁琐&#xff0c;所以拆分成几个步骤&#xff0c;从最开始用顺序表储存节点&#xff0c;然后再用循环将所有节点连接起来&#xff0c;这样做的原因是顺序表的顺序性很强&#xff0c;最后再遍历回去找到最初的节点并定为根…...

    2024/4/14 19:04:52
  17. pyqt 为新建子线程传参以及子线程返回数据到主线程

    最近在用qt做项目的时候&#xff0c;由于项目只有一个线程&#xff0c;所以在处理图片的时候&#xff0c;视频流就卡住了。以下用一个例子简单记录如何解决新建子线程时传参和子线程返回数据到主线程的问题。 UI代码&#xff08;untitled.py&#xff09; from PyQt5 import Qt…...

    2024/4/14 19:05:12
  18. 主机os重装节点加回RAC集群

    前言 在正常的生产环境当中&#xff0c;我们有时候会遇到主机磁盘以及其他硬件故障导致主机OS系统无法启动&#xff0c;或者OS系统本身故障无法修复的情况。这时候除了重装OS系统也没别的办法&#xff0c;但是重装后改如何加入原有的RAC集群呢 &#x1f447;&#x1f447;下面…...

    2024/4/14 19:05:07
  19. 第3章动态链表_单向循环链表的应用之逢七过

    逢7过小游戏 package P3.链式结构;import P2.线性结构.ArrayList;import java.util.Scanner;//逢七过游戏 /* 输入玩家的个数 输入从哪个玩家开始 输入该玩家从哪个数字开始 输入一共玩几个游戏 打印出每个玩家将要报出的所有数字 * */ public class SevenGame {public static …...

    2024/4/14 19:04:52
  20. 六种常见的排序算法的基本原理及python实现(冒泡排序,选择排序,快速排序,插入排序,归并排序,希尔排序)

    算法中最基础的应该就是排序算法了&#xff0c;今天简单介绍一下几种常用的排序算法 文章目录冒泡排序选择排序快速排序插入排序归并排序希尔排序叮&#xff01;冒泡排序 冒泡排序每轮走访一次要排序的元素列表&#xff0c;依次比较两个相邻的元素&#xff0c;如果两个元素顺序…...

    2024/4/14 19:05:27

最新文章

  1. 数据结构与算法目录

    1、基本认识 算法的复杂度和稳定性 链接&#xff1a;算法的复杂度和稳定性_o(1) < o(logn) < o(n) < o(nlogn) < o(n^2) < o(n^3)-CSDN博客Java的链表的创建、插入、修改、删除、查询等 链接&#xff1a;Java的链表的创建、插入、修改、删除、查询等_java链表查…...

    2024/4/28 21:07:03
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. 同一个pdf在windows和linux中的页数不一样

    之前认为PDF的格式&#xff0c;至少页数是不会变化的&#xff0c;结果最近发现一个文档在windows和linux中的页数不一样&#xff0c;linux中的pdf进入像word一样排版变得紧凑了&#xff0c;原本在下一页的几行进入了上一页的末尾。问了gpt后得到这样的回答&#xff1a; PDF文档…...

    2024/4/21 6:41:42
  4. ChatGPT 初学者指南

    原文&#xff1a;ChatGPT for Beginners 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 介绍 如果您一直关注新闻和趋势&#xff0c;您可能已经在某个地方读到或听到过&#xff0c;Sam Altman 的生成式人工智能平台 ChatGPT 已经将人工智能推向了一个新的高度 - 许多…...

    2024/4/27 12:58:33
  5. 【外汇早评】美通胀数据走低,美元调整

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

    2024/4/28 13:52:11
  6. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/4/28 3:28:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

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

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

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

    2024/4/28 13:51:37
  9. 【外汇早评】日本央行会议纪要不改日元强势

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

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

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

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

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

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

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

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

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

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

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

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

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

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

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

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

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

    2024/4/28 1:22:35
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

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

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

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

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

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

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

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

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

    2024/4/27 8:32:30
  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