3
今天,我有一个不区分大小写的排序Set
,如:不区分大小写的有序集合 - 保持相同的字符串大小写不同的
Set<String> set = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
set.add("foo");
set.add("FOO");
set.add("bar");
System.out.println(set.toString());
的这个输出是:
[bar, foo]
但我真正想要的是:
[bar, FOO, foo]
也就是说,我要排序S的并且不区分大小写,但我希望能够在集合中使用不同情况下的相同字符串(如“foo”和“FOO”),而不丢弃最后一个字符串。
我知道我可以排序List
,但在我的情况下,我需要一个Set
。
在Java中这样做有一个简洁的方法吗?
我不认为你保证之前与''String.CASE_INSENSITIVE_ORDER',如果这是你期待什么foo'得到'FOO'。这是一种不敏感的排序,因此,“FOO”和“foo”是相同的,因此可以以任何顺序出现。 – 2014-09-29 14:03:18
@ T.J.Crowder“FOO”和“foo”的顺序并不重要,棘手的部分是将它们都放在集合中,同时在'FOO'之前的'bar'。 – holmis83 2014-09-29 14:12:30