Java / Collections
Does HashSet ignore String case when contains() method is invoked in Java?
HashSet's contains() method is case sensitive and does not allow the use of comparators.
We could use TreeSet instead of HashSet which allow Comparator thus facilitating case-insensitive search and comparison. Using the comparator String.CASE_INSENSITIVE_ORDER we could perform case ignored search.
In the below example search for 'A' at the Hashset fails since the set has the all the elements in lower case. However the same search at the TreeSet finds the element using the String.CASE_INSENSITIVE_ORDER comparator.
public static void main(String[] args) {
List<String> inputList = Arrays.asList(new String[] { "a", "b", "c" });
/****************************************/
// HashSet Does not ignore the case.
Set<String> hashSet = new HashSet<String>();
hashSet.addAll(inputList);
System.out
.println("Does Hashset has value A? " + hashSet.contains("A"));
/****************************************/
// TreeSet Does not ignore the case.
Set<String> treeSetCaseIgnored = new TreeSet<String>(
String.CASE_INSENSITIVE_ORDER);
treeSetCaseIgnored.addAll(inputList);
/****************************************/
System.out.println("Does Hashset has value A? "
+ treeSetCaseIgnored.contains("A"));
/****************************************/
}
Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!
Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.
Invest now!!! Get Free equity stock (US, UK only)!
Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.
The Robinhood app makes it easy to trade stocks, crypto and more.
Webull! Receive free stock by signing up using the link: Webull signup.
More Related questions...
