Постановка задачи:
Нечувствительный регистр для типа HashSet
Допустим вам необходимо сделать так что бы в HashSet добавлялись элементы не обращая внимания на регистр. Я предлагаю сделать это одним из двух способов:
Решение:
Использовать TreeSet
Результат:
Упорядоченная коллекция TreeSet (так как TreeSet автоматически упорядочивает
помещаемые в него данные)
Java Код:
Set<String> set = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
String s1 = "TO";
String s2 = "to";
set.add(s1);
set.add(s2);
System.out.println(set.toString());
/////////////////////////////////////////////////////////////
Решение:
Использовать LinkedHashMap
Результат:
Коллекция с элементами в порядке добавления.
Java код:
Map<String, String> map = new LinkedHashMap<String, String>();
String s1 = "TO DO";
String s2 = "To do";
map.put(s1.toUpperCase(), s2);
map.put(s2.toUpperCase(), s2);
for (Map.Entry<String, String> entry : map.entrySet()){
System.out.println("key = " + entry.getKey());
System.out.println("value = " + entry.getValue());
}
Нечувствительный регистр для типа HashSet
Допустим вам необходимо сделать так что бы в HashSet добавлялись элементы не обращая внимания на регистр. Я предлагаю сделать это одним из двух способов:
Решение:
Использовать TreeSet
Результат:
Упорядоченная коллекция TreeSet (так как TreeSet автоматически упорядочивает
помещаемые в него данные)
Java Код:
Set<String> set = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
String s1 = "TO";
String s2 = "to";
set.add(s1);
set.add(s2);
System.out.println(set.toString());
/////////////////////////////////////////////////////////////
Решение:
Использовать LinkedHashMap
Результат:
Коллекция с элементами в порядке добавления.
Java код:
Map<String, String> map = new LinkedHashMap<String, String>();
String s1 = "TO DO";
String s2 = "To do";
map.put(s1.toUpperCase(), s2);
map.put(s2.toUpperCase(), s2);
for (Map.Entry<String, String> entry : map.entrySet()){
System.out.println("key = " + entry.getKey());
System.out.println("value = " + entry.getValue());
}