Во время работы с набором деревьев я нашел очень своеобразное поведение. По моему пониманию, эта программа должна печатать две идентичные строки:
public class TestSet {
static void test(String... args) {
Set<String> s = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
s.addAll(Arrays.asList("a", "b"));
s.removeAll(Arrays.asList(args));
System.out.println(s);
}
public static void main(String[] args) {
test("A");
test("A", "C");
}
}
но странно он печатает:
[b]
[a, b]
Почему дерево работает так?