Коллекции Java Commons removeAll

CollectionUtils :: removeAll () Commons Collections 3.2.1

Я, должно быть, схожу с ума, потому что кажется, что этот метод делает обратное тому, что указано в документации :

Удаляет удаляемые элементы из коллекции. То есть этот метод возвращает коллекцию, содержащую все элементы в c, которые не находятся в удалении.

Этот небольшой тест JUnit

@Test
public void testCommonsRemoveAll() throws Exception {
    String str1 = "foo";
    String str2 = "bar";
    String str3 = "qux";

    List collection = Arrays.asList(str1, str2, str3);
    System.out.println("collection: " + collection);

    List remove = Arrays.asList(str1);
    System.out.println("remove: " + remove);

    Collection result = CollectionUtils.removeAll(collection, remove);
    System.out.println("result: " + result);
    assertEquals(2, result.size());
}

не работает с

java.lang.AssertionError: ожидалось: , но было:

и печатает

collection: [foo, bar, qux] 
remove: [foo] 
result: [foo]

На основании чтения документов, я должен ожидать [bar, qux] . Что я пропустил?

31
задан skaffman 17 May 2012 в 15:31
поделиться