1. Queue集合

        Queue用于模拟队列这种数据结构,队列通常是指“先进先出”(FIFO)的容器。队列的头部保存在队列中存放时间最长的元素,队列的尾部保存在队列中存放时间最短的元素新元素插入(offer)到队列的尾部访问元素(poll)操作会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。
        Queue接口中定义了如下几个方法。

  • void add(Object e):将指定元素加入此队列的尾部。
  • Object element():获取队列头部的元素,但是不删除该元素。
  • boolean offer(Object e):将指定元素加入此队列的尾部当使用有容量限制的队列时,此方法通常比 add(Object e)方法更好
  • Object peek():获取队列头部的元素,但是不删除该元素如果此队列为空,则返回null。
  • Object poll():获取队列头部的元素,并删除该元素。如果此队列为空,则返回null。
  • Object remove():获取队列头部的元素,并删除该元素。

        Queue接口有一个PriorityQueue 实现类。除此之外,Queue还有一个 Deque接口,Deque 代表一个“双端队列”,双端队列可以同时从两端来添加、删除元素,因此 Deque的实现类既可当成队列使用,也可当成栈使用。Java为 Deque提供了ArrayDeque和 LinkedList两个实现类。

  (1) PriorityQueue 实现类

        PriorityQueue是一个比较标准的队列实现类。之所以说它是比较标准的队列实现,而不是绝对标准的队列实现,是因为 PriorityQueue保存队列元素的顺序并不是按加入队列的顺序,而是按队列元素的大小进行重新排序因此当调用peek()方法或者poll()方法取出队列中的元素时,并不是取出最先进入队列的元素,而是取出队列中最小的元素从这个意义上来看,PriorityQueue已经违反了队列的最基本规则:先进先出((FIFO)。下面程序示范了PriorityQueue队列的用法。

        运行上面程序直接输出 PriorityQueue集合时,可能看到该队列里的元素并没有很好地按大小进行排序,但这只是受到PriorityQueue 的 toString()方法的返回值的影响。实际上,程序多次调用PriorityQueue集合对象的poll()方法,即可看到元素按从小到人的顺序“移出队列”。
        PriorityQueue不允许插入null元素,它还需要对队列元素进行排序,PriorityQueue的元素有两种排序方式。

  • 自然排序:采用自然顺序的PriorityQueue集合中的元素必须实现了Comparable接口,而且应该是同一个类的多个实例,否则可能导致ClassCastException异常。
  • 定制排序:创建PriorityQueue队列时,传入一个Comparator对象,该对象负责对队列中的所有元素进行排序。采用定制排序时不要求队列元素实现Comparable接口。

        PriorityQueue队列对元素的要求与TreeSet对元素的要求基本一致,因此关于使用自然排序和定制排序的详细介绍请参考8.3.3节。

  (2) Deque接口与ArrayDeque实现类

        Deque接口是Queue接口的子接口,它代表一个双端队列,Deque接口里定义了一些双端队列的方法,这些方法允许从两端来操作队列的元素。

  • void addFirst(Object e):将指定元素插入该双端队列的开头。
  • void addLast(Object e):将指定元素插入该双端队列的末尾。
  • lterator descendinglterator():返回该双端队列对应的迭代器,该迭代器将以逆向顺序来迭代队列中的元素。
  • Object getFirst():获取但不删除双端队列的第一个元素。
  • Object getLast():获取但不删除双端队列的最后一个元素。
  • boolean offerFirst(Object e):将指定元素插入该双端队列的开头。
  • boolean offerLast(Object e):将指定元素插入该双端队列的末尾。
  • Object peekFirst():获取但不删除该双端队列的第一个元素;如果此双端队列为空,则返回null。
  • Object peekLast():获取但不删除该双端队列的最后一个元素;如果此双端队列为空,则返回null。
  • Object pollFirst():获取并删除该双端队列的第一个元素;如果此双端队列为空,则返回null。
  • Object pollLast():获取并删除该双端队列的最后一个元素;如果此双端队列为空,则返回null。
  • Object pop()(栈方法): pop出该双端队列所表示的栈的栈顶元素。相当于removeFirst()。
  • void push(Object e)(栈方法):将一个元素 push进该双端队列所表示的栈的栈顶。相当于addFirst(e)。
  • Object removeFirst():获取并删除该双端队列的第一个元素。
  • Object removeFirstOccurrence(Object o):删除该双端队列的第一次出现的元素o。
  • Object removeLast():获取并删除该双端队列的最后一个元素。
  • boolean removeLastOccurrence(Object o):删除该双端队列的最后一次出现的元素o。

        从上面方法中可以看出,Deque不仅可以当成双端队列使用,而且可以被当成栈来使用,因为该类里还包含了pop(出栈)、push(入栈)两个方法。
        Deque的方法与Queue的方法对照表如表8.2所示。

        Deque接口提供了一个典型的实现类: ArrayDeque,从该名称就可以看出,它是一个基于数组实现的双端队列,创建 Deque时同样可指定一个numElements参数,该参数用于指定Object[]数组的长度;如果不指定numElements参数,Deque底层数组的长度为16

        下面程序示范了把ArrayDeque当成“栈”来使用。

        上面程序的运行结果显示了ArrayDeque作为栈的行为,因此当程序中需要使用“栈”这种数据结构时,推荐使用ArrayDeque,尽量避免使用Stack——因为Stack是古老的集合,性能较差。
        当然ArrayDeque也可以当成队列使用,此处ArrayDeque将按“先进先出”的方式操作集合元素。例如如下程序。

        上面程序的运行结果显示了ArrayDeque作为队列的行为。
        通过上面两个程序可以看出,ArrayDeque不仅可以作为栈使用,也可以作为队列使用

  (3) LinkedList 实现类

        LinkedList类是List 接口的实现类——这意味着它是一个List集合,可以根据索引来随机访问集合中的元素。除此之外,LinkedList还实现了Deque接口,可以被当成双端队列来使用,因此既可以被当成“栈”来使用,也可以当成队列使用。下面程序简单示范了LinkedList集合的用法。

        上面程序中粗体字代码分别示范了LinkedList作为 List集合、双端队列、栈的用法。由此可见,LinkedList是一个功能非常强大的集合类。
        LinkedList与 ArrayList、ArrayDeque 的实现机制完全不同,ArrayList、ArrayDeque内部以数组的形式来保存集合中的元素,因此随机访问集合元素时有较好的性能;而LinkedList 内部以链表的形式来保存集合中的元素,因此随机访问集合元素时性能较差,但在插入、删除元素时性能比较出色(只需改变指针所指的地址即可)。需要指出的是,虽然Vector也是以数组的形式来存储集合元素的,但因为它实现了线程同步功能(而且实现机制也不好),所以各方面性能都比较差。

  (4) 各种线性表的性能分析

        Java提供的List就是一个线性表接口,而ArrayList、LinkedList 又是线性表的两种典型实现:基于数组的线性表和基于链的线性表。Queue 代表了队列,Deque代表了双端队列(既可作为队列使用,也可作为栈使用),接下来对各种实现类的性能进行分析。
        初学者可以无须理会ArrayList 和 LinkedList 之间的性能差异,只需要知道LinkedList 集合不仅提供了List 的功能,还提供了双端队列、栈的功能就行。但对于一个成熟的Java程序员,在一些性能非常敏感的地方,可能需要慎重选择哪个List实现。
        一般来说,由于数组以一块连续内存区来保存所有的数组元素,所以数组在随机访问时性能最好,所有的内部以数组作为底层实现的集合在随机访问时性能都比较好;而内部以链表作为底层实现的集合在执行插入、删除操作时有较好的性能。但总体来说,ArrayList的性能比LinkedList的性能要好,因此大部分时候都应该考虑使用ArrayList
        关于使用List集合有如下建议。

  • 如果需要遍历List集合元素对于ArrayList、Vector集合,应该使用随机访问方法(get)来遍历集合元素,这样性能更好;对于LinkedList 集合,则应该采用迭代器(Iterator)来遍历集合元素
  • 如果需要经常执行插入、删除操作来改变包含大量数据的 List 集合的大小,可考虑使用
    LinkedList集合
    。使用ArrayList、Vector集合可能需要经常重新分配内部数组的大小,效果可能较差。
  • 如果有多个线程需要同时访问List集合中的元素,开发者可考虑使用Collections将集合包装成线程安全的集合

2. Java8增强的Map集合

        Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的 key,另外一组值用于保存Map里的valuekey和 value都可以是任何引用类型的数据Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false。
        key和 value之间存在单向一对一关系,即通过指定的key,总能找到唯一的、确定的value。从 Map中取出数据时,只要给出指定的key,就可以取出对应的value。如果把 Map的两组值拆开来看,Map里的数据有如图8.7所示的结构。


        从图8.7 中可以看出,如果把Map里的所有key放在一起来看,它们就组成了一个Set集合(所有的key没有顺序,key与 key之间不能重复)实际上Map确实包含了一个keySet()方法,用于返回Map里所有key组成的Set集合
        不仅如此,Map里key集和Set集合里元素的存储形式也很像,Map子类和Set子类在名字上也惊人地相似,比如Set接口下有HashSet、LinkedHashSet、SortedSet(接口)、TreeSet、EnumSet等子接口和实现类,而Map接口下则有HashMap、LinkedHashMap、SortedMap(接口)、TreeMap、EnumMap等子接口和实现类。正如它们的名字所暗示的,Map的这些实现类和子接口中 key集的存储形式和对应Set集合中元素的存储形式完全相同

        如果把Map里的所有value放在一起来看,它们又非常类似于一个List:元素与元素之间可以重复,每个元素可以根据索引来查找只是Map中的索引不再使用整数值,而是以另一个对象作为索引。如果需要从List集合中取出元素,则需要提供该元素的数字索引;如果需要从Map中取出元素,则需要提供该元素的 key索引。因此,Map有时也被称为字典,或关联数组。Map接口中定义了如下常用的方法。

  • void clear():删除该Map对象中的所有key-value对
  • boolean containsKey(Object key):查询Map中是否包含指定的key,如果包含则返回true。
  • boolean containsValue(Object value):查询Map中是否包含一个或多个value,如果包含则返回true。
  • Set entrySet():返回Map中包含的key-value对所组成的Set集合,每个集合元素都是Map.Entry(Entry是 Map的内部类)对象
  • Object get(Object key):返回指定 key所对应的value;如果此Map中不包含该key,则返回null
  • boolean isEmpty():查询该Map是否为空(即不包含任何key-value对),如果为空则返回true。
  • Set keySet():返回该Map 中所有key组成的Set集合。
  • Object put(Object key, Object value):添加一个key-value对,如果当前Map中已有一个与该key相等的key-value对,则新的key-value对会覆盖原来的key-value对,并且返回被覆盖的value。
  • void putAll(Map m):将指定Map中的key-value对复制到本Map 中。
  • Object remove(Object key):删除指定key所对应的key-value对,返回被删除key所关联的value,如果该key不存在,则返回null。
  • boolean remove(Object key, Object value):这是 Java8新增的方法,删除指定key、value所对应的 key-value对。如果从该Map中成功地删除该key-value对,该方法返回true,否则返回false。
  • int size():返回该Map里的key-value对的个数。
  • Collection values():返回该Map里所有value组成的Collection。

Map接口提供了大量的实现类,典型实现如HashMap和 Hashtable 等、HashMap 的子类LinkedHashMap,还有SortedMap子接口及该接口的实现类TreeMap,以及WeakHashMap 、IdentityHashMap等。下面将详细介绍Map接口实现类。
        Map中包括一个内部类Entry,该类封装了一个key-value对。Entry包含如下三个方法。

  • Object getKey():返回该Entry里包含的key值。
  • Object getValue():返回该Entry里包含的value值。
  • Object setValue(V value):设置该Entry里包含的value值,并返回新设置的value值。

        Map集合最典型的用法就是成对地添加、删除 key-value对,接下来即可判断该Map中是否包含指定key,是否包含指定value,也可以通过Map提供的 keySet()方法获取所有key组成的集合,进而遍历Map中所有的key-value对。下面程序示范了Map的基本功能。

        上面程序中前5行粗体字代码示范了向Map中成对地添加key-value对。添加key-value对时,Map允许多个vlaue重复,但如果添加key-value对时Map中己有重复的key,那么新添加的value会覆盖该key原来对应的value,该方法将会返回被覆盖的 value
        程序接下来的2行粗体字代码分别判断了Map集合中是否包含指定key、指定value。程序中粗体字foreach循环用于遍历Map集合:程序先调用Map集合的keySet()获取所有的 key,然后使用foreach循环来遍历Map的所有key,根据key即可遍历所有的 value
        HashMap重写了toString()方法,实际上所有的Map实现类都重写了toString()方法,调用Map对象的toString()方法总是返回如下格式的字符串:{key1=value1,key2=value2...}。

  (1) Java 8为Map新增的方法

        Java8除为Map增加了remove(Object key , Object value)默认方法之外,还增加了如下方法。

  • Object compute(Object key,BiFunction remappingFunction):该方法使用remappingFunction根据原key-value对计算一个新value只要新value不为null就使用新value覆盖原value;如果原value不为 null,但新value为null则删除原key-value对;如果原value、新value同时为null,那么该方法不改变任何key-value对,直接返回null
  • Object computelfAbsent(Object key,Function mappingFunction):如果传给该方法的 key参数在Map中对应的value为null,则使用mappingFunction根据key计算一个新的结果,如果计算结果不为null,则用计算结果覆盖原有的value。如果原Map原来不包括该key,那么该方法可能会添加一组key-value对。
  • Object computeIfPresent(Object key, BiFunction remappingFunction):如果传给该方法的 key参数在 Map中对应的value不为null,该方法将使用remappingFunction根据原key、value计算一个新的结果,如果计算结果不为null,则使用该结果覆盖原来的value;如果计算结果为null,则删除原key-value对。
  • void forEach(BiConsumer action):该方法是Java 8为Map新增的一个遍历key-value对的方法,通过该方法可以更简洁地遍历Map 的key-value对。
  • Object getOrDefault(Object key, V defaultValue):获取指定key对应的value。如果该key 不存在,则返回defaultValue.
  • Object merge(Object key, Object value,BiFunction remappingFunction):该方法会先根据key参数获取该Map中对应的value。如果获取的value为null,则直接用传入的value覆盖原有的 value(在这种情况下,可能要添加一组 key-value对);如果获取的 value 不为 null,则使用remappingFunction函数根据原value、新value计算一个新的结果,并用得到的结果去覆盖原有的 value。
  • Object putIfAbsent(Object key, Object value):该方法会自动检测指定key对应的value是否为null,如果该key对应的value为null,该方法将会用新value代替原来的null 值。
  • Object replace(Object key, Object value):将 Map中指定 key对应的value替换成新value。与传统put()方法不同的是,该方法不可能添加新的 key-value对。如果尝试替换的 key在原Map中不存在,该方法不会添加 key-value对,而是返回null
  • boolean replace(K key, V oldValue, V newValue):将Map中指定key-value对的原value替换成新value。如果在Map中找到指定的key-value对,则执行替换并返回true,否则返回false。
  • replaceAll(BiFunction function):该方法使用BiFunction对原key-value对执行计算,并将计算结果作为该key-value对的 value值。

下面程序示范了Map常用默认方法的功能和用法。

        上面程序中注释已经写得很清楚了,而且给出了每个方法的运行结果,读者可以结合这些方法的介绍文档来阅读该程序,从而掌握 Map中这些默认方法的功能与用法。

  (2) Java 8改进的HashMap和 Hashtable实现类

        HashMap和 Hashtable都是Map接口的典型实现类,它们之间的关系完全类似于ArrayList和Vector的关系: Hashtable是一个古老的Map实现类,它从JDK 1.0起就已经出现了,当它出现时,Java还没有提供Map接口,所以它包含了两个烦琐的方法,即 elements()(类似于Map接口定义的values()方法)和keys()(类似于Map接口定义的keySet()方法),现在很少使用这两个方法(关于这两个方法的用法请参考8.9节)。
        Java8改进了HashMap 的实现,使用HashMap存在key冲突时依然具有较好的性能。

        除此之外,Hashtable和 HashMap存在两点典型区别。

  • Hashtable是一个线程安全的Map实现,但HashMap是线程不安全的实现,所以 HashMap 比Hashtable的性能高一点;但如果有多个线程访问同一个Map对象时,使用Hashtable实现类会更好。
  • Hashtable不允许使用null 作为 key和 value,如果试图把 null值放进Hashtable中,将会引发NullPointerException异常;但 HashMap可以使用null作为key或 value。

        由于HashMap里的 key不能重复,所以HashMap里最多只有一个key-value对的key为null,但可以有无数多个.key-value对的 value为null。下面程序示范了用null值作为HashMap的 key和value的情形。

        上面程序试图向HashMap中放入三个key-value对,其中①代码处无法将key-value对放入,因为Map中已经有一个key-value对的key为null值,所以无法再放入key为 null值的key-value对。②代码处可以放入该key-value对,因为一个HashMap中可以有多个value为null 值。编译、运行上面程序,看到如下输出结果:

        为了成功地在HashMap、Hashtable中存储、获取对象,用作 key的对象必须实现 hashCode()方法和equals()方法。
        与HashSet集合不能保证元素的顺序一样,HashMap、Hashtable也不能保证其中 key-value对的顺序。类似于HashSet,HashMap、Hashtable判断两个key相等的标准也是:两个 key通过 equals()方法比较返回true,两个key 的hashCode值也相等
        除此之外,HashMap、Hashtable中还包含一个containsValue()方法,用于判断是否包含指定的value。那么HashMap、Hashtable如何判断两个value相等呢?HashMap、Hashtable判断两个value相等的标准更简单:只要两个对象通过equals()方法比较返回true即可。下面程序示范了Hashtable判断两个key相等的标准和两个value 相等的标准。

        上面程序定义了A类和B类,其中A类判断两个A对象相等的标准是count实例变量:只要两个A对象的count变量相等,则通过 equals()方法比较它们返回 true,它们的 hashCode值也相等;而B对象则可以与任何对象相等。
        Hashtable判断value相等的标准是: value 与另外一个对象通过equals()方法比较返回 true即可。上面程序中的ht对象中包含了一个B对象,它与任何对象通过 equals()方法比较总是返回true,所以在①代码处返回 true。在这种情况下,不管传给ht对象的containtsValue()方法参数是什么,程序总是返回true。
        根据Hashtable判断两个key相等的标准,程序在②处也将输出 true,因为两个A对象虽然不是同一个对象,但它们通过equals()方法比较返回true,且 hashCode值相等,Hashtable即认为它们是同一个key。类似的是,程序在③处也可以删除对应的key-value对。

        与HashSet类似的是,如果使用可变对象作为HashMap、Hashtable的 key,并且程序修改了作为key的可变对象,则也可能出现与HashSet类似的情形:程序再也无法准确访问到Map中被修改过的key。看下面程序。

        该程序使用了前一个程序定义的A类实例作为key,而A对象是可变对象。当程序在①处修改了A对象后,实际上修改了HashMap集合中元素的key,这就导致该key不能被准确访问。当程序试图删除count为87563的A对象时,只能删除没被修改的 key所对应的 key-value对。程序②和③处的代码都不能访问“疯狂Java讲义”字符串,这都是因为它对应的key被修改过的原因。

  (3) LinkedHashMap 实现类

        HashSet有一个LinkedHashSet子类,HashMap也有一个LinkedHashMap子类;LinkedHashMap也使用双向链表来维护key-value对的次序(其实只需要考虑key 的次序),该链表负责维护Map的迭代顺序,迭代顺序与key-value对的插入顺序保持一致
        LinkedHashMap可以避免对HashMap、Hashtable里的 key-value对进行排序(只要插入key-value对时保持顺序即可),同时又可避免使用TreeMap所增加的成本。
        LinkedHashMap需要维护元素的插入顺序,因此性能略低于HashMap 的性能;但因为它以链表来维护内部顺序,所以在迭代访问Map里的全部元素时将有较好的性能。下面程序示范了LinkedHashMap的功能:迭代输出LinkedHashMap 的元素时,将会按添加key-value对的顺序输出。

 上面程序中最后一行代码使用Java8为Map新增的 forEach()方法来遍历Map集合。编译、运行上面程序,即可看到LinkedHashMap的功能:LinkedHashMap可以记住key-value对的添加顺序。

  

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

相关文章

  1. BLDC无刷直流电机驱动电路-硬石电子

    1.BLDC无刷直流电机驱动电路,因为BLDC是三相完全一样的驱动电路,下图为其中一相电路图,其他两相完全一样。 主要元器件: 高速光耦:TLP715 MOS管驱动IC:IR2110S MOS:IRF540NS D7和C13为自举电路…...

    2024/5/7 14:40:35
  2. 【苹果推】什么是苹果推?相册推软件网卡 MAC

    Board Serial Number Board Serial Number 是你 Clover 天生的装备序列号 肆意 5 位假名或者数目字垂手可得去的一组被开方数。 好比你的 Clover 生成出来的序列号是 C02J8YTODNCT 比如你的任意一番 5 位字母为:ABCDE 那末本条 Board Serial Number 即&#xff1a…...

    2024/5/8 0:34:06
  3. Java第25天总结

    1.单例模式 单例 : 一个类获取多次,只得到一个对象 1 构造方法私有化 2 静态变量存储对象 3 公共的静态方法,用于获取对象 public class Singleton_01 {private Singleton_01() {}// volatile : 防止指令重排private volatile static Singleton_01 s null;// public synchro…...

    2024/4/27 12:58:50
  4. leetcode刷题 区间列表的交集986

    题目描述: 给定两个由一些 闭区间 组成的列表,firstList 和 secondList ,其中 firstList[i] [starti, endi] 而 secondList[j] [startj, endj] 。每个区间列表都是成对 不相交 的,并且 已经排序 。 返回这 两个区间列表的交集…...

    2024/4/26 11:04:40
  5. VirtualBox + Ubuntu 服务器版 Server 16~18 LTS共享文件夹的手工配置

    Windows主机上安装了VirtualBox软件,在VirtualBox中安装了虚拟机Ubuntu服务器。如何在Windows和Ubuntu之间共享文件夹?一般是选择“自动安装”,但是喜忧参半,很多时候并不成功。本文给出想图解式的详细步骤,最好严格按…...

    2024/4/28 3:25:31
  6. C语言运算符分析(带你系统了解C语言中涉及的运算符)

    自学C语言很长一段时间了,而里面很多运算符都感觉在脑中模模糊糊的,今天在这里系统的总结下C语言的运算符,一方面希望能巩固我所学的东西,另一方面希望能带给你们一些帮助,如果下面有什么不足的地方敬请指正&#xff0…...

    2024/4/28 12:45:32
  7. Codeforces Round #751 (Div. 2)(A - C)

    A.Two Subsequences 题目大意 给你一个字符串 s。您需要找到两个非空字符串 a 和 b,以满足以下条件: (1) 字符串 a 和 b 都是 s 的子序列。 (2) 对于每个索引 i,字符串 s 里的字符 s [ i ] 必须恰好属于字符串 a 或 b 之一。 (3) 字符串 a 是…...

    2024/4/25 19:06:04
  8. 一些linux命令 自留 看着

    Linux 常用命令 1、改变当前路径 cd .. (返回上一级) cd 目录名 (前往该目录)2、关机 poweroff3、改成纯命令行模式 init 34、返回图形模式 init 55、创建新目录 mkdir [目录名]6、删除空目录 rmdir [目录名]7、删除非空目录 rm -rf [目录…...

    2024/5/5 11:56:36
  9. VMware Workstation Pro装虚拟机zip

    1. 准备好解压后的文件目录; 2. 打开vmware,点击“文件” - “打开” ,选择解压后的目录; 3. 选中以“.vmx”结尾的文件,点击“打开”,此时就可以看到系统已经加载好了。...

    2024/5/2 12:48:49
  10. 初识c语言

    下载了Visual Stuoio2019 第一次照猫画虎写了一个代码 first 虽然很菜 还是会继续坚持下去的 明天写心得体会 生活很充实很快乐...

    2024/4/27 14:42:53
  11. IO 框架

    流 概念:内存与存储设备之间数据的交换,数据需要依靠流进行传输 流可具体分为三类: 按方向分: 输入流:将存储设备中的数据读进内存中输出流:将内存中的数据写到存储设备中按单位分: 字节流&am…...

    2024/4/25 14:55:04
  12. vagaa 哇嘎 软件2021年最新连接恢复搜索和下载正常 调试修复

    内网歪网有什么区别 歪网同时下载100个资源成功率百分之九十,而且是立即下载,你可以看到好几十个资源在下载中 歪网下载就像迅雷的高速通道, 歪网同时下载100个资源,能有80个到90个下载成功,内网相反只有不到10个以内下…...

    2024/4/24 22:54:03
  13. Python学习

    """ 练习8-7:专辑 编写一个名为make_album()的函数,它创建一个 描述音乐专辑的字典。这个函数应接受歌手的名字和专辑名,并返 回一个包含这两项信息的字典。使用这个函数创建三个表示不同专 辑的字典,并打印每个返…...

    2024/5/5 9:38:20
  14. 变量对象/作用域/作用域链------>闭包

    一.变量对象: 变量对象,是执行上下文中的一部分,可以抽象为一种 数据作用域,其实也可以理解为就是一个简单的对象,它存储着该执行上下文中的所有 变量和函数声明(不包含函数表达式)。 二.作用域: 作用域其实可理解为该上下文中…...

    2024/4/25 5:26:47
  15. “21天好习惯““第一期–9

    这里考虑的是if语言的运用以及sqrt代表的是根号的意思。其实只要我们认真对待这个题目细节,就可以做出来。...

    2024/5/5 12:40:53
  16. MD5是用来加密的吗?BCrypt又是什么呢

    文章目录前言MD5的八卦BCrypt加密自己加盐工作负载使用方便总结前言 最近经常看到一种关于 MD5 的说法,比如某某系统的登录模块使用了 MD5 加密算法,保证了用户密码的安全。那么 MD5 究竟是不是一种加密算法呢?从概念上来说『加密』对应的是…...

    2024/4/28 15:04:33
  17. 三子棋游戏

    三子棋游戏设计思路编程实现编程的结构test.cgame.cgame.h功能的具体实现初始化棋盘打印棋盘玩家“落子”电脑“落子”棋盘是否下满判断胜负总结设计思路 三子棋是黑白棋的一种。它是一种民间传统游戏,又叫九宫棋、一条龙、井字棋等。将正方形对角线连起来&#xf…...

    2024/5/8 4:15:54
  18. app端自动化POM,实现QQ导航页和登陆页,以及yaml文件创建和数据驱动操作

    第一步:创建po模型四层:base,objectpages,testcase,datademo以及对应四个文件 basepage,daohangpage loginpage,test_01,。。。 第二步:创建basepage(填写公…...

    2024/5/5 13:09:35
  19. [RK3568 Android11] 教程之parameter分区大小修改

    目录 前言 一、了解分区的配置 二、各个分区定义 三、分区的组合...

    2024/5/5 6:07:42
  20. 操作符详解三四

    &取地址和*解引用操作符 a 在内存中四个字节,一定会开辟空间,里面要存放10 内存会开辟空间 空间会划分一个一个小的内存单元 每个内存单元都有自己的编号 编号被称为内存单元的 地址 int a 10; printf("%p",&a);打印a的地址 打印地址%p 地址是个十六进制的…...

    2024/4/15 14:01:08

最新文章

  1. 跟随Facebook的足迹:社交媒体背后的探索之旅

    在当今数字化时代,社交媒体已经成为了人们日常生活中不可或缺的一部分。而在这庞大的社交媒体网络中,Facebook作为其中的巨头,一直在引领着潮流。从创立之初的一个大学社交网络到如今的全球性平台,Facebook的发展历程承载了无数故…...

    2024/5/8 5:16:37
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/5/7 10:36:02
  3. dp小兰走迷宫

    昨天学习了bfs的基本概念&#xff0c;今天来做一道经典习题练练手吧&#xff01; bfs常用的两类题型 1.从A出发是否存在到达B的路径(dfs也可) 2.从A出发到B的最短路径&#xff08;数小:<20才能用dfs&#xff09; 遗留的那个问题的答案- 题目&#xff1a;走迷宫 #incl…...

    2024/5/7 4:57:38
  4. app上架-您的应用存在最近任务列表隐藏风险活动的行为,不符合华为应用市场审核标准。

    上架提示 您的应用存在最近任务列表隐藏风险活动的行为&#xff0c;不符合华为应用市场审核标准。 修改建议&#xff1a;请参考测试结果进行修改。 请参考《审核指南》第2.19相关审核要求&#xff1a;https://developer.huawei.com/consumer/cn/doc/app/50104-02 造成原因 …...

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

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

    2024/5/7 5:50:09
  6. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/5/7 9:45:25
  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/7 14:25:14
  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/7 11:36:39
  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/7 9:26:26
  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/6 21:42:42
  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