草庐IT

CONTAINS

全部标签

java - List<E>.contains(Object),为什么?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhatarethereasonswhyMap.get(Objectkey)isnot(fully)genericWhydowehavecontains(Objecto)insteadofcontains(Ee)?如大家所见here,E类型的模板化java.util.List有它的contains方法未模板化:它需要一个Object反而。有谁知道为什么?在什么情况下List在myList.contains(newOtherNonString())中返回真?如果我没记错的话,永远不会,除非与之比较的对象具有类型

java - 如何确定一个数组是否包含单独数组中的所有整数

我在学校的ap计算机科学课上遇到了这个问题。甚至无法真正想出解决方法。这里是逐字逐句的:编写一个名为contains的静态方法,它接受两个整数数组a1和a2作为参数,并返回一个boolean值,指示a2的元素序列是否出现在a1中(true表示是,false表示否).a2中的元素序列可以出现在a1中的任何位置,但必须以相同的顺序连续出现。例如,如果名为list1和list2的变量存储以下值:int[]list1={1,6,2,1,4,1,2,1,8};int[]list2={1,2,1};然后contains(list1,list2)的调用应该返回true因为list2的值序列{1,2,

java: List.contains() 与手动搜索的性能差异

我试图演示List.contains()和手动搜索执行时间之间的区别,结果非常棒。这是代码,publicstaticvoidmain(Stringargv[]){Listlist=newArrayList();list.add("a");list.add("a");list.add("a");list.add("a");list.add("a");list.add("a");list.add("b");longstartTime=System.nanoTime();list.contains("b");longendTime=System.nanoTime();longduration

java - Hamcrest Matchers.contains 匹配器不工作(?)

我正在尝试测试一个集合是否有一个toString()方法返回特定字符串的项目。我尝试使用优秀的Hamcrest匹配类,通过将包含与Matchers.hasToString结合使用,但不知何故,它的Matchers.contains无法匹配项目,即使它存在于集合中。这是一个例子:classItem{privateStringname;publicItem(Stringname){this.name=name;}publicStringtoString(){returnname;}}//here'sasamplecollection,withthedesireditemaddedinthe

Java 流 : find if stream contains null

很可能是重复的,但是我找不到任何特定的。给出publicstaticvoidmain(String[]args){System.out.println(Arrays.asList(null,null,1).stream().filter(obj->obj==null).findAny().isPresent());}期待至少应该有效(即返回false因为findAny返回Optional)。实际NullPointerException被抛出问题这是错误还是功能?感谢您的意见和解释。 最佳答案 此行为在findAny()的Javado

java - 在 O(1) 中与 getKey(B) 一对一映射数据结构 (A,B)?

这个问题最初措辞不当,请参阅下面的编辑。我会把它留给上下文。我一直在思考构建双射(即一对一)映射的巧妙方法。映射函数A->B(多对一)基本上就是HashMap(A,B)所做的。如果我现在想要一个数据结构来实现与O(1)中的contains()一对一的东西,我可以使用java标准库中的东西吗?请注意,我现在什么都不需要这个,这只是我最近想到的事情,无法想出一个数据结构,所以答案并不着急。有这样的类(class)吗?如果不是,您认为这是为什么?我在SO上能找到的都是关于hibernate的东西,那对我没有帮助。编辑:我的问题措辞不当,因此需要做出一些解释。我的意思是“向后”映射B->A。H

java - Set<Set> Java 中的相等性

我有一个返回Set>的方法.在我的测试中,我试图检查预期的Set是否符合要求。使用contains()存在s方法。例如。input="cat","dog","god"output=[[cat],[dog,god]]现在,如果我这样做output.contains(newHashSet(Arrays.asList("cat")))它返回true.但如果我这样做output.contains(newHashSet(Arrays.asList("dog","god")))它返回false.按照我的理解应该返回true在这两种情况下。我在这里错过了什么?publicclassAnagramGr

java contains区分大小写吗?String的contains方法区分大小写

文章目录一、contains区分大小写二、重写contains方法,实现忽略大小写一、contains区分大小写Java中的contains方法默认是区分大小写的,如果要忽略大小写,可以使用String类的equalsIgnoreCase()方法来代替。Java中的contains方法默认是区分大小写的,如果要忽略大小写,可以使用String类的equalsIgnoreCase()方法来代替。publicclassTest{publicstaticvoidmain(String[]args){Stringstr1="HelloWorld";Stringstr2="helloworld";Sys

Java : Hashcode of a Class A containing a Class B which contains A

我在我的类中实现哈希码函数时遇到问题。正如标题中所解释的,我有两个类:类A代表学校考试,因此它包含多个属性(即主题、标记和代表参加考试的学生的类实例)。如您所料,类(class)B代表学生。它有一些属性(即姓名、地址、年龄等)和一个包含多个A类实例的ArrayList(学生可以参加很多考试)。我的问题来了,我被要求在两个类中实现哈希码函数。我使用的哈希码是我学过的哈希码,它是将每个属性的哈希码相加,乘以一个整数,具体取决于它的类型(即字符串乘以31,整数乘以17,对象乘以13,等等)。但是如果我调用A类的hashcode,那么调用B类的hashcode,然后又回调A类的hashcode

java - java.util.Collections.contains() 如何比线性搜索执行得更快?

我一直在胡思乱想各种搜索集合、集合的集合等的不同方法。做了很多愚蠢的小测试来验证我的理解。这是让我感到困惑的一个(源代码在下面)。简而言之,我正在生成N个随机整数并将它们添加到列表中。该列表未排序。然后,我使用Collections.contains()在列表中查找值。我有意寻找一个我知道不会存在的值,因为我想确保整个列表空间都被探测到。我为这次搜索计时。然后我手动进行另一个线性搜索,遍历列表的每个元素并检查它是否与我的目标匹配。我也为这次搜索计时。平均而言,第二次搜索比第一次搜索花费的时间长33%。按照我的逻辑,第一次搜索也必须是线性的,因为列表是未排序的。我能想到的唯一可能性(我立