【java-为什么list.containsAll(emptylist)返回true?】教程文章相关的互联网学习教程文章

java contains()方法使用什么算法?

我想有效地搜索我拥有的HashSet中的对象. 我想知道在Java集合中定义的contains()方法是否使用二进制搜索?还是应该编写自己的二进制搜索算法?解决方法:HashSet中的一般搜索复杂度为O(1)-表示它是常数.自己写?那更好吗? 您绝对可以查看源代码,了解内部的HashSet实际上是HashMap;它使用存储桶以及LinkedNodes和TreeNodes;理解这些工作原理,等等.或者信任良好的实现并专注于其他方面;除非您真的需要更快的速度.

java-为什么list.containsAll(emptylist)返回true?

当我有一个包含元素的List并以空列表作为参数调用此列表上的containsAll方法时,怎么可能返回true?空列表不包含任何元素,因此两个列表如何有共同的元素?解决方法:从列表的Javadoc:boolean java.util.List.containsAll(Collection c) Returns true if this list contains all of the elements of the specified collection.如果c不包含任何元素,则调用该方法的列表确实包含c的所有元素,这就是为什么返回true的原因.

java – 使用“array-contains”查询Cloud Firestore社交媒体结构

我有一个数据结构,由一个名为“民意调查”的集合组成. “民意调查”有几个随机生成ID的文件.在这些文档中,还有一个名为“答案”的附加集合.用户对这些民意调查进行投票,所有投票均写入“答案”子集.我在“answers”节点上使用.runTransaction()方法,并认为这个子集合(对于任何给定的轮询)不断被用户更新和写入. 我一直在阅读关于social media structure for Firestore.但是,我最近遇到了Firestore的一个新功能,即“array_contains”...

Java通过ArrayList的contains(Object o)方法实现去重字符串中的字符【代码】

1、步骤: 1)ArrayList的contains方法的简介: public boolean contains(object o) 如果此列表包含指定的元素o,则返回true 。 2)重写equals方法以便使用自己的方式去对比集合中的两个对象是否相同:// 重写equals方法 public boolean equals(Object obj) {if (obj instanceof myChar) {return ((myChar)obj).getValue() == this.value;}return false; }3)完整的实现代码:import java.util.ArrayList; import java.util.Scanne...

java – 比较LinkedList.contains()中的对象【代码】

我希望能够让LinkedList.contains()为自定义比较器返回true. 假设我有1个LinkedList和2个对象LinkedList<MyObject> myList = new LinkedList<MyObject>();MyObject a = new MyObject("HELLO"); MyObject b = new MyObject("HELLO");技术上,两个对象在比较方面是相同的(MyObject实现Comparable) (a == b)== true 但是,当我执行以下操作时,myList不会为myList.contains返回true(b)myList.add(a) myList.contains(b) // == false我认为...

为什么Java的Map接口有一个containsValue(Object)方法,但是没有value-> keys查找?

这里有一些问题如何获得与给定值相关联的地图密钥,答案指向谷歌集合(用于双向地图)或基本上说“循环它”. 我刚刚注意到Map接口有一个boolean containsValue(Object value)方法,“对于Map接口的大多数实现,它可能需要时间线性的地图大小”,而AbstractMap中的实现确实迭代了entrySet(). 设计决定在Map中包含containsValue,但没有Collection< V>的原因可能是什么? getKeysForValue(对象)?我可以看出为什么人们会省略两者,或者包括两...

在Java中,哪个更快 – String.contains(“some text”)或Regex寻找相同的文本?

正如标题所说,只是寻找一个字符串来匹配完成通过套接字发送数据的客户端,所以我可能会在JSON字符串中寻找类似{“Message”:“END”}的内容.最多的字符串将是几百个字符长.解决方法:在你知道它们之前,它们都足够快.最好选择一个你可以更轻松阅读的版本. 但是从论坛来看,博客包含的速度更快,但性能差异仍然可以忽略不计

java – 如何为HashSet h和元素e保持:h.contains(e)!= new HashSet <>(h).contains(e)?

在Java 8中,我有一个HashSet h(通过泛型正确键入),hashCode / equals方法实现到类型层次结构的底部 – 显然正确,因为eclipse为我做了. 在一些(罕见的)情况下,方法invokation h.contains(e)返回false – 这是错误的(据我的理解),因为集合中有一个元素e’,它具有相等的hashCodes和equals方法e.equals(e) ‘)返回true. 为了使我的困惑更大,新的HashSet<>(h).contains(e)返回正确答案为true. 这怎么可能? 由于这种罕见的情况是在一个...

java – EnumMap.containsValue(null)返回true J​​DK 7【代码】

我发现了一种奇怪的行为.我使用的是JDK 1.7.当我打印map.containsValue(null) 虽然我的MAP中没有任何空值,但它返回true.import java.util.EnumMap; import java.util.Map;public class EnumMapTest {enum EnumType {ZERO, ONE, TWO}public static void main(String[] args) {Map<EnumType, Integer> map = new EnumMap<EnumType, Integer>(EnumType.class);map.put(EnumType.ZERO, 0);System.out.println(map.containsValue(null))...

java – 使用contains方法来避免重复【代码】

我正在创建一个List,它将观察列表(注册注册,时间)转换为仅包含注册的列表,但是这个列表不能包含重复项,我正在努力确保不会发生重复.public List<Registration> getVehicles(){List<Registration> rtnList = new ArrayList<Registration>();for (Observation obs:observationsList){if (rtnList.contains(obs.getIdentifier())){}elsertnList.add(obs.getIdentifier());}return rtnList; }这就是我所拥有的,但仍然会出现重复. 通过以...

Java:String.contains(string)函数如何在java中工作?【代码】

我知道蛮力方法的时间复杂度为n * m(m是第一个字符串的长度,n是另一个的长度),用于测试字符串是否包含另一个字符串,但是,我想知道是否存在是更好的解决方案吗?boolean contains(String input,String search)解决方法:你可以看一下source:public boolean contains(CharSequence s) {return indexOf(s.toString()) > -1; }

java – 关于Map.containsValue方法的混淆【代码】

我有一个以下程序,我有一个hashmap. hashmap的键是简单整数,值是整数数组.该计划如下:Map<String , int []> myMap = new HashMap<String , int []>();myMap.put("EvenNumbers", new int[]{2,4,6,8,10,12,14,16,18,20});myMap.put("OddNumbers", new int[]{1,3,5,7,9,11,13,15,17,19});myMap.put("DivisibleByThree", new int[]{3,6,9,12,15,18});myMap.put("DivisibleByFive", new int[]{5,10,15,20});int[] array = new int[]{1,...

java – Arrays.contains(int)错误【代码】

我可以问为什么以下输出为假?import java.util.Arrays;public class Test2 {public static void main(String[] args) {new Test2();}private final int[] VOWEL_POS = {0,4,8,14,20};Test2(){if(Arrays.asList(VOWEL_POS).contains(0)){System.out.print("TRUE");}else{System.out.print("FALSE");}}}谢谢!解决方法:这里的asList方法返回一个List< int []>,这不是你所期望的. 原因是你不能拥有List< int>.为了实现你想要的,创建一...

java集合框架中contains(),containsKey()和containsValue()的用法:

List集合的contains()方法用于判断集合中包不包含某个元素,返回值是boolean。 Map集合的containsKey()和containsValue()方法和上面的相同。 示例: public static void main(String[] args) { List list = new LinkedList(); list.add(“A”); list.add(“B”); list.add(“C”); list.indexOf(“B”); boolean flag = list.contains(“A”); System.out.println(list.indexOf(“B”)); System.out.println(flag); Map m = new Has...

java – 使用whereArrayContains进行搜索的效率【代码】

我很好奇使用此代码搜索集合中的文档的效率.随着集合中文档数量的增加以及数组中项目数量的增长,这种搜索效率会非常低下吗?有没有更好的方法来实现这一点,或者我是否可以对数据库进行架构更改以更好地优化这一点?有什么地方我可以找到firestore文档的这些函数的时间复杂性吗?Query query = db.collection("groups").whereArrayContains("members", userid);替代解决方案 我最初想尝试在用户下存储组ID,以便只抓取当前用户的组,但...

CONTAINS - 相关标签