BAEL-4944: Update code samples for the Removing all duplicates from a List in Java (#10717)
Co-authored-by: Krzysztof Woyke <krzysztof.woyke.sp@lhsystems.com>
This commit is contained in:
parent
3b15e86fe6
commit
344dac3835
@ -1,11 +1,14 @@
|
||||
package com.baeldung.collections;
|
||||
|
||||
import static org.hamcrest.Matchers.containsInAnyOrder;
|
||||
import static org.hamcrest.Matchers.containsInRelativeOrder;
|
||||
import static org.hamcrest.Matchers.hasSize;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
@ -22,7 +25,7 @@ public class JavaCollectionCleanupUnitTest {
|
||||
// tests - removing nulls
|
||||
|
||||
@Test
|
||||
public final void givenListContainsNulls_whenRemovingNullsWithPlainJava_thenCorrect() {
|
||||
public void givenListContainsNulls_whenRemovingNullsWithPlainJava_thenCorrect() {
|
||||
final List<Integer> list = Lists.newArrayList(null, 1, null);
|
||||
while (list.remove(null))
|
||||
;
|
||||
@ -31,7 +34,7 @@ public class JavaCollectionCleanupUnitTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public final void givenListContainsNulls_whenRemovingNullsWithPlainJavaAlternative_thenCorrect() {
|
||||
public void givenListContainsNulls_whenRemovingNullsWithPlainJavaAlternative_thenCorrect() {
|
||||
final List<Integer> list = Lists.newArrayList(null, 1, null);
|
||||
list.removeAll(Collections.singleton(null));
|
||||
|
||||
@ -39,7 +42,7 @@ public class JavaCollectionCleanupUnitTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public final void givenListContainsNulls_whenRemovingNullsWithGuavaV1_thenCorrect() {
|
||||
public void givenListContainsNulls_whenRemovingNullsWithGuavaV1_thenCorrect() {
|
||||
final List<Integer> list = Lists.newArrayList(null, 1, null);
|
||||
Iterables.removeIf(list, Predicates.isNull());
|
||||
|
||||
@ -47,7 +50,7 @@ public class JavaCollectionCleanupUnitTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public final void givenListContainsNulls_whenRemovingNullsWithGuavaV2_thenCorrect() {
|
||||
public void givenListContainsNulls_whenRemovingNullsWithGuavaV2_thenCorrect() {
|
||||
final List<Integer> list = Lists.newArrayList(null, 1, null, 2, 3);
|
||||
final List<Integer> listWithoutNulls = Lists.newArrayList(Iterables.filter(list, Predicates.notNull()));
|
||||
|
||||
@ -55,7 +58,7 @@ public class JavaCollectionCleanupUnitTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public final void givenListContainsNulls_whenRemovingNullsWithCommonsCollections_thenCorrect() {
|
||||
public void givenListContainsNulls_whenRemovingNullsWithCommonsCollections_thenCorrect() {
|
||||
final List<Integer> list = Lists.newArrayList(null, 1, 2, null, 3, null);
|
||||
CollectionUtils.filter(list, PredicateUtils.notNullPredicate());
|
||||
|
||||
@ -65,19 +68,38 @@ public class JavaCollectionCleanupUnitTest {
|
||||
// tests - remove duplicates
|
||||
|
||||
@Test
|
||||
public final void givenListContainsDuplicates_whenRemovingDuplicatesWithPlainJava_thenCorrect() {
|
||||
final List<Integer> listWithDuplicates = Lists.newArrayList(0, 1, 2, 3, 0, 0);
|
||||
public void givenListContainsDuplicates_whenRemovingDuplicatesWithPlainJava_thenCorrect() {
|
||||
final List<Integer> listWithDuplicates = Lists.newArrayList(5, 0, 3, 1, 2, 3, 0, 0);
|
||||
final List<Integer> listWithoutDuplicates = new ArrayList<>(new HashSet<>(listWithDuplicates));
|
||||
|
||||
assertThat(listWithoutDuplicates, hasSize(4));
|
||||
assertThat(listWithoutDuplicates, hasSize(5));
|
||||
assertThat(listWithoutDuplicates, containsInAnyOrder(5, 0, 3, 1, 2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public final void givenListContainsDuplicates_whenRemovingDuplicatesWithGuava_thenCorrect() {
|
||||
final List<Integer> listWithDuplicates = Lists.newArrayList(0, 1, 2, 3, 0, 0);
|
||||
final List<Integer> listWithoutDuplicates = Lists.newArrayList(Sets.newHashSet(listWithDuplicates));
|
||||
public void givenListContainsDuplicates_whenRemovingDuplicatesPreservingOrderWithPlainJava_thenCorrect() {
|
||||
final List<Integer> listWithDuplicates = Lists.newArrayList(5, 0, 3, 1, 2, 3, 0, 0);
|
||||
final List<Integer> listWithoutDuplicates = new ArrayList<>(new LinkedHashSet<>(listWithDuplicates));
|
||||
|
||||
assertThat(listWithoutDuplicates, hasSize(4));
|
||||
assertThat(listWithoutDuplicates, hasSize(5));
|
||||
assertThat(listWithoutDuplicates, containsInRelativeOrder(5, 0, 3, 1, 2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenListContainsDuplicates_whenRemovingDuplicatesWithGuava_thenCorrect() {
|
||||
final List<Integer> listWithDuplicates = Lists.newArrayList(5, 0, 3, 1, 2, 3, 0, 0);
|
||||
final List<Integer> listWithoutDuplicates = Lists.newArrayList(Sets.newHashSet(listWithDuplicates));
|
||||
|
||||
assertThat(listWithoutDuplicates, hasSize(5));
|
||||
assertThat(listWithoutDuplicates, containsInAnyOrder(5, 0, 3, 1, 2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenListContainsDuplicates_whenRemovingDuplicatesPreservingOrderWithGuava_thenCorrect() {
|
||||
final List<Integer> listWithDuplicates = Lists.newArrayList(5, 0, 3, 1, 2, 3, 0, 0);
|
||||
final List<Integer> listWithoutDuplicates = Lists.newArrayList(Sets.newLinkedHashSet(listWithDuplicates));
|
||||
|
||||
assertThat(listWithoutDuplicates, hasSize(5));
|
||||
assertThat(listWithoutDuplicates, containsInRelativeOrder(5, 0, 3, 1, 2));
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.hamcrest.Matchers.containsInAnyOrder;
|
||||
import static org.hamcrest.Matchers.hasSize;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
@ -40,10 +41,11 @@ public class Java8CollectionCleanupUnitTest {
|
||||
|
||||
@Test
|
||||
public void givenListContainsDuplicates_whenRemovingDuplicatesWithJava8_thenCorrect() {
|
||||
final List<Integer> listWithDuplicates = Lists.newArrayList(1, 1, 2, 2, 3, 3);
|
||||
final List<Integer> listWithoutDuplicates = listWithDuplicates.parallelStream().distinct().collect(Collectors.toList());
|
||||
final List<Integer> listWithDuplicates = Lists.newArrayList(5, 0, 3, 1, 2, 3, 0, 0);
|
||||
final List<Integer> listWithoutDuplicates = listWithDuplicates.stream().distinct().collect(Collectors.toList());
|
||||
|
||||
assertThat(listWithoutDuplicates, hasSize(3));
|
||||
assertThat(listWithoutDuplicates, hasSize(5));
|
||||
assertThat(listWithoutDuplicates, containsInAnyOrder(5, 0, 3, 1, 2));
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user