首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HashSet Contains和Except这样的集合操作在不区分大小写方面有什么不同?

HashSet是Java中的一种集合数据结构,它实现了Set接口,不允许包含重复元素。HashSet的Contains和Except是集合操作中常用的方法,用于判断集合中是否包含某个元素或者获取两个集合的差集。

在不区分大小写方面,HashSet的Contains和Except的不同主要体现在对字符串元素的处理上。

  1. Contains方法:HashSet的Contains方法用于判断集合中是否包含某个元素。在不区分大小写的情况下,HashSet的Contains方法会将字符串元素转换为统一的大小写形式进行比较。例如,如果HashSet中包含字符串"abc",当调用Contains方法传入"ABC"时,HashSet会将"ABC"转换为小写形式"abc",然后与集合中的元素进行比较,如果相等则返回true,否则返回false。
  2. Except方法:HashSet的Except方法用于获取两个集合的差集,即从一个集合中排除另一个集合中的元素。在不区分大小写的情况下,HashSet的Except方法会将两个集合中的字符串元素都转换为统一的大小写形式进行比较。例如,如果HashSet A中包含字符串"abc",HashSet B中包含字符串"ABC",当调用Except方法时,HashSet会将两个字符串都转换为小写形式"abc",然后进行比较。如果HashSet A中的元素在HashSet B中不存在,则将其添加到结果集合中。

总结: HashSet的Contains和Except方法在不区分大小写方面的不同主要体现在对字符串元素的处理上。Contains方法用于判断集合中是否包含某个元素,而Except方法用于获取两个集合的差集。在不区分大小写的情况下,HashSet会将字符串元素转换为统一的大小写形式进行比较。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

java 中几种常用数据结构

同Vector一样是一个基于数组上链表,但是不同是ArrayList不是同步。所以性能上要比Vector好一些,但是当运行到多线程环境中时,可需要自己管理线程同步问题。...Set是包含重复元素Collection 7、HashSet API-----This class implements theSet interface, backed by a hash...但是Set则是 HashMap基础上来实现,这个就是SetList根本区别。HashSet存储方式是把HashMap中Key作为Set对应存储项。...-Map----------------- Map 是一种把键对象值对象进行关联容器,而一个值对象又可以是一个Map,依次类推,这样就可形成一个多级映射。...三、CollectionsArrays Java集合类框架里有两个类叫做Collections(注意,不是Collection!)

56120

Java HashSet 实现源码解析

最好在创建时完成这一操作,以防止对该 set 进行意外不同步访问: Set s = Collections.synchronizedSet(new HashSet(...)); HashSet通过iterator...初始化时指定容量是为了减少扩容次数,提高效率。 (2)什么是fail-fast? fail-fast机制是java集合一种错误机制。...细心同学可能会发现,像ArrayList、HashMap中都有一个属性叫modCount,每次对集合修改这个值都会加1,遍历前记录这个值到expectedModCount中,遍历中检查两者是否一致...问题 (1)集合(Collection)集合(Set)有什么区别? (2)HashSet怎么保证添加元素不重复? (3)HashSet是否允许null元素? (4)HashSet是有序吗?...(5)HashSet是同步吗? (6)什么是fail-fast?

54610

Java基础总结大全(2)

equalsIgnoreCase(String anotherString):判断两个字符串内容是否相同, 区分大小写 **** boolean contains(String s):判断一个字符串中是否包含另一个字符串...默认用户名密码为admin。 区分大小写。 自己从键盘输入用户名密码。 2:给定一个字符串统计,统计大写字母,小写字母,数字出现个数....面向对象对事物体现都是以对象形式,为了方便对多个对象操作,就对对象进行存储。 集合就是存储对象最常用一种方式. (2)数组集合都是容器,两者有何不同?...方法虽然定义自定义对象类里面,但不是我们手动调用 而是往HashSet集合里面存储元素时候,集合底层自己调用hashCodeequals 它自己拿对象去判断,自己判断两元素是否是同一个元素...迭代器枚举区别: 迭代器允许调用者利用定义良好语义迭代期间从迭代器所指向collection移除元素 方法名称得到了改进,简化书写 **LisIterator:系列表迭代器,允许程序员按任一向遍历列表

1.5K90

Java面试手册:核心基础-4

Map:是存储键这样双列数据集合;Map中存储数据是没有顺序,其键是不能重复,它值是可以有重复。 7.List、Map、Set三个接口,存取元素时,各有什么特点?...,这是HashSet之类集合最大不同处,HashSet之类集合不可以按索引号去检索其中元素,也不允许有重复元素。...21.HashSet底层实现是什么? 通过看源码知道HashSet实现是依赖于HashMapHashSet值都是存储HashMap中。...InputStream ,不同实现类就代表不同输入输出设备,它们都是针对字节进行操作。...,即使contains方法使用该对象的当前引用作为参数去HashSet集合中检索对象,也将返回找不到对象结果,这也会导致无法从HashSet集合中单独删除当前对象,造成内存泄露。

51520

Java集合-Collection

Collection接口 (java.util.Collection) 是java集合根接口中一个,尽管直接实例化Collection,但是我们经常用到其子类,而且通常把其子类当做Collection...这是标准继承,所以没有什么神奇之处,但是它仍然可以是一个很好特性,下文会讲述这些共同操作。...如果Set中已经包含了此元素,那么就不再增加,另一面,如果是List,则List中会存在两个同样元素。...中所有元素,但是增加不是Collection本身仅仅是其元元素,如果使用Collection作为参数调用add(),则集合对象本身将被添加,而不是其元素。...有两个方法可以检查是否包含某个或者某些确定元素, contains() containsAll()方法,下面是代码: Collection collection = new HashSet(); boolean

55920

【Java入门提高篇】Day26 Java容器类详解(八)HashSet源码分析

别慌别慌,这一篇来说说集合框架里最偷懒一个家伙——HashSet什么说它是最偷懒呢,先留个悬念,看完本文之后,你就会知道所言不假了。   ...本篇将从以下几点来进行介绍:   1.HashSet特点使用场景   2.HashSet示例   3.HashSet继承结构图   4.HashSet源码解析 HashSet特点使用场景...),它基本操作如,add/remove/contains/size等都只需要常量时间开销,并且允许存在null值。   ...HashSet,其中HashMap实例使用默认装载因子(0.75)能够容纳下集合中所有元素初始容量(别忘了,必须是2幂次方) 10 */ 11 public HashSet(...大小装载因子,只是一般情况下,使用默认即可,除非知道里面要放元素个数,并且数量比较大时,才需要进行指定容量,这样可以减少扩容次数。

32351

集合

,我们以后可以按位置索引号取出某个元素,并且其中数据是允许重复,这是与HashSet之类集合最大不同处,HashSet之类集合不可以按索引号去检索其中元素,也不允许有重复元素。          ...一个是存储单列数据集合,另一个是存储键这样双列数据集合,List中存储数据是有顺序,并且允许重复;Map中存储数据是没有顺序,其键是不能重复,它值是可以有重复。...List,Set是,Map不是 5、List、Map、Set三个接口,存取元素时,各有什么特点? (这样题比较考水平,两个方面的水平:一是要真正明白这些内容,二是要有较强总结表述能力。)   ...HashSet(vector); 8、CollectionCollections区别。         ...Collections是针对集合一个帮助类,他提供一系列静态方法实现对各种集合搜索、排序、线程安全化等操作。 9、Set里元素是不能重复,那么用什么方法来区分重复与否呢?

57970

Java面试题-集合框架篇三

,我们以后可以按位置索引号取出某个元素,并且其中数据是允许重复,这是与HashSet之类集合最大不同处,HashSet之类集合不可以按索引号去检索其中元素,也不允许有重复元素。...List,Set是,Map不是 5、List、Map、Set三个接口,存取元素时,各有什么特点? (这样题比较考水平,两个方面的水平:一是要真正明白这些内容,二是要有较强总结表述能力。)...Map与ListSet不同,它是双列集合,其中有put方法。...9、Set里元素是不能重复,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别? Set里元素是不能重复,元素重复与否是使用equals()方法进行判断。...对于set,大概方法是add,remove, contains等 对于map,大概方法就是put,remove,contains等 List类会有get(int index)这样方法

53830

你真的了解HashSet吗?

这里一尘选择了 ArrayList 然后用 contains() 方法判断输入那个名字没在 List 集合里。 ?...并且它底层是使用 散列表来实现,所以它一些常用操作。 不理解散列表可以看: 神速Hash(上) 神速Hash(下) 什么是HashMap?...List使用上没有多大区别,把List换成Set就行。 ? HashSet会自动帮你去重。 ? 结果 ? 源码分析 师傅师傅,我听山下李公子老说临界区,这个临界区是个什么东西呀?...此段代码HashMap put() 方法之中 contains()方法 方法 contains() 是判断集合里有没有指定元素。理解了HashMap,这个实现起来就不难。 ?...两个名字性别都一样学生,按理来说应该是同一个人了(逻辑上一样),但是它 set 集合输出却有两个一尘,都是男,没有去重。 哦,怎么会这样

59320

Java List集合取交集八种不同实现方式

方法一:使用Java 8Stream API 这种方法利用Stream APIfiltercollect操作来找到两个列表交集。...请注意,由于HashSet不保证元素顺序,因此交集列表中元素顺序可能与原始列表不同。如果需要保持顺序,可以使用LinkedHashSet代替HashSet。...contains) .collect(Collectors.toList()); 注意:并行流并不总是比顺序流更快,特别是处理小数据集或数据集不适合并行处理时。...方法八:使用第三库(如Guava) 除了Apache Commons Collections,还有其他第三库如Guava也提供了集合操作工具类。...通过以上方法介绍实践,希望能够帮助你更好地理解Java中List集合交集计算,并能够实际开发中灵活运用。 术因分享而日新,每获新知,喜溢心扉。

1.7K11

Java程序员面试宝典——重要习题整理

注意:移位运算时,byte、shortchar类型移位后结果会变成int类型,对于byte、short、charint进行移位时,规定实际移动次数是移动次数32余数,也就是移位33次移位...但是该main方法是本类内部,所以可以直接访问。如果在另一个类中这样访问Test对象count变量,是不会成功,例如下面的代码会在第18行提示访问错误。...);如果由一个主机名无法解析,但两个主机名相等(区分大小写)或两个主机名都为null,则也认为这两个主机相等。...上面有三个IP都是208.97.154.9,而Set集合不允许有重复元素出现,所以联网情况下输出为4 如果是断网状态下,这些都无法解析为IP地址,这时就要判断URL名字,仅认为名字相同才是相同...URL,前面说过URL判断区分大小写,而有两个区分大小写情况下是相同,所以输出结果是5.

56390

别在逻辑处理字符串了,String类常用方法都有

目录 前言 一、String转换方法 二、String判断方法  三、String转换char 总结 ---- 前言 开发过程中像获取字符串长度、字符串截取、字符串转数组这样方法我们常用会很熟悉...判断方法有:判断字符串以什么字符开头、结尾、判断字符串是否为空、判断字符串是否包含指定字符、判断字符串是否全等(区分大小写) 适用方式 方法 返回类型 具体实现 判断是否以指定字符串结尾 endsWith...boolean str.contains("ny") 判断匹配字符串是否相等,区分大小写 equalsIgnoreCase boolean str.equalsIgnoreCase("ANYUSHENG...b = str.equalsIgnoreCase("ANYUSHENG"); // 判断匹配字符串是否相等,区分大小写 System.out.println("判断匹配字符串是否相等,...区分大小写:str.equalsIgnoreCase() --> "+b); }  三、String转换char 此方法有:字符串转char集合、char转字符串 适用方式 方法 返回类型 具体实现

57030

Java集合总结

Hashtable有contains方法 HashMap把Hashtablecontains方法去掉了,改成了containsValuecontainsKey 继承不同: HashMap<K,...(存储有序) Map集合是无序(存储无序) 四、Set里元素是不能重复,那么用什么方法来区分重复与否呢?...我们知道Set集合实际大都使用是Map集合put方法来添加元素。 以HashSet为例,HashSet元素不能重复,源码(HashMap)是这样体现: // 1....如果增删都是末尾来操作【每次调用都是remove()add()】,此时ArrayList就不需要移动复制数组来进行操作了。如果数据量有百万级时,速度是会比LinkedList要快。...如果删除操作位置是中间。由于LinkedList消耗主要是遍历上,ArrayList消耗主要是移动复制上(底层调用是arraycopy()方法,是native方法)。

64220

面试官:集合使用时应该注意哪些问题?我:应该注意该注意问题!

面试官:“那你来讲讲集合使用时,应该注意哪些问题吧” 我:“额,这,我想想哈。”,什么!这面试官按套路出牌,上来就问注意事项,打我一个措手不及啊。...很多场景下,我们都要求数据唯一性,也就是不可重复,所以集合去重本领我们也要掌握,《阿里巴巴 Java 开发手册》中这样说道: 可以利用 Set 元素唯一特性,可以快速对一个集合进行去重操作,避免使用...List contains() 进行遍历去重或者判断包含操作。...这是为什么呢?我们依旧需要透过源码去分析问题,分别选择HashSetArrayList,其实两者差别主要体现在对contains()实现上。...总结 以上就是结合开发手册自己平时开发经验,写六点注意事项,希望所有小伙伴都能够日后开发工作中,保持良好开发规范与习惯,强烈建议每个人必看《阿里巴巴 Java 开发手册》,这是很多互联网企业,

5000

Java集合类详解

历史集合类,之所以这样命名是因为从 Java 类库 1.0 发行版就开始沿用至今了。 如果从历史集合类转换到新框架类,主要差异之一在于所有的操作新类不同步。...Collection collection = new ArrayList();(这样好处在于,以后如果要理性不同集合,可以省略很多麻烦。...Set中包含重复元素,即Set中不存两个这样元素e1e2,使得e1.equals(e2)为true。...注意,这些操作可能在某些实现(例如 LinkedList 类)索引值成比例时间内执行。因此,如果调用不知道实现,那么列表元素上迭代通常优于用索引遍历列表。...Vector还有些遗留方法枚举元素获取方法,这些方法不同于List接口,如果这些方法代码中程序员更趋向于想用它。尽管枚举速度更快,但是他们不能检查如果集合在迭代时候修改了,这样将导致问题。

90420

如何在Java中避免equals方法隐藏陷阱(一)

甚至是p1也被加到集合里面,p1p2是是等价对象吗?...这也是会什么HasSetcontains方法返回false原因,因为这个方法操作是泛型,他调用是一般化Object上equals方法而非Point类上变化了重载方法equals 一个更好但不完美的...如果你得到结果是true的话,那么你试试其他坐标值,最终你一定会得到一个集合包含结果。导致这个结果原因是Point重载了equals却没有重载hashCode。...不同哈希码导致他们具有极高可能性被放入到集合不同哈希桶中。contains方法将会去找p2哈希码对应哈希桶中匹配元素。...x域加上常量41后结果再乘与41并将结果在加上y域值。这样做就可以以低成本运行时间低成本代码大小得到一个哈希码合理分布(译者注:性价比相对较高做法)。

1.7K80
领券