public void removingDuplicatesWithPlainJava() {
List<Integer> listDuplicates = Lists.newArrayList(7, 0, 3, 1, 2, 3, 0, 7);
List<Integer> listWithoutDuplicates = new ArrayList<>(
new HashSet<>(listDuplicates));
// listWithoutDuplicates содержит уникальные элементы [0, 7, 2, 1, 3]
}
public void removingDuplicatesOrderWithPlainJava() {
List<Integer> listDuplicates = Lists.newArrayList(7, 0, 3, 1, 2, 3, 0, 7);
List<Integer> listWithoutDuplicates = new ArrayList<>(
new LinkedHashSet<>(listDuplicates));
// listWithoutDuplicates содержит уникальные элементы в порядке исходного списка [7, 0, 3, 1, 2]
}
public void removingDuplicatesWithGuava() {
List<Integer> listWithDuplicates = Lists.newArrayList(7, 0, 3, 1, 2, 3, 0, 7);
List<Integer> listWithoutDuplicates
= Lists.newArrayList(Sets.newHashSet(listWithDuplicates));
// listWithoutDuplicates содержит уникальные элементы [3, 0, 7, 1, 2]
}
public void removingDuplicatesPreservingOrderWithGuava_thenCorrect() {
List<Integer> listWithDuplicates = Lists.newArrayList(7, 0, 3, 1, 2, 3, 0, 7);
List<Integer> listWithoutDuplicates
= Lists.newArrayList(Sets.newLinkedHashSet(listWithDuplicates));
// listWithoutDuplicates содержит уникальные элементы в порядке исходного списка [7, 0, 3, 1, 2]
}
public void removingDuplicatesWithJava8() {
List<Integer> listWithDuplicates = Lists.newArrayList(7, 0, 3, 1, 2, 3, 0, 7);
List<Integer> listWithoutDuplicates = listWithDuplicates.stream()
.distinct()
.collect(Collectors.toList());
// listWithoutDuplicates содержит уникальные элементы в порядке исходного списка [7, 0, 3, 1, 2]
}