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