方法一:使用HashSet
- 将集合转换为HashSet。
Set<String> set = new HashSet<>(list);
- 将HashSet转换回List。
List<String> uniqueList = new ArrayList<>(set);
方法二:使用Java 8的Stream API
- 将列表转换为Stream。
Stream<String> stream = list.stream();
- 使用
distinct()
方法去除重复元素。
List<String> uniqueList = stream.distinct().collect(Collectors.toList());
方法三:使用Lombok库
- 添加Lombok库依赖到项目。
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version>
</dependency>
- 在类中使用
@Setter
和@Getter
注解。
import lombok.Setter;
import lombok.Getter;@Setter
@Getter
public class UniqueData {private String value;
}
- 创建一个集合,并添加重复数据。
List<UniqueData> list = new ArrayList<>();
list.add(new UniqueData("A"));
list.add(new UniqueData("B"));
list.add(new UniqueData("A"));
- 使用
removeIf()
方法去除重复数据。
list.removeIf(uniqueData -> list.stream().filter(ud -> ud.getValue().equals(uniqueData.getValue())).count() > 1);
方法四:使用第三方库,如UniqueHashSet
- 添加UniqueHashSet库依赖到项目。
<dependency><groupId>com.github.kokorin.unique</groupId><artifactId>unique-hash-set</artifactId><version>1.1.0</version>
</dependency>
- 使用
UniqueHashSet
去除重复数据。
import com.github.kokorin.unique.UniqueHashSet;Set<String> uniqueSet = new UniqueHashSet<>(list);
以上四种方法都可以用于实现集合去重。方法一是基于HashSet,方法二是基于Java 8的Stream API,方法三是基于Lombok库,方法四是基于第三方库UniqueHashSet