Android 实现集合去重的方法

发布时间:2024年01月11日

方法一:使用HashSet

  1. 将集合转换为HashSet。
Set<String> set = new HashSet<>(list);
  1. 将HashSet转换回List。
List<String> uniqueList = new ArrayList<>(set);

方法二:使用Java 8的Stream API

  1. 将列表转换为Stream。
Stream<String> stream = list.stream();
  1. 使用distinct()方法去除重复元素。
List<String> uniqueList = stream.distinct().collect(Collectors.toList());

方法三:使用Lombok库

  1. 添加Lombok库依赖到项目。
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.20</version>
</dependency>
  1. 在类中使用@Setter@Getter注解。
import lombok.Setter;
import lombok.Getter;

@Setter
@Getter
public class UniqueData {
    private String value;
}
  1. 创建一个集合,并添加重复数据。
List<UniqueData> list = new ArrayList<>();
list.add(new UniqueData("A"));
list.add(new UniqueData("B"));
list.add(new UniqueData("A"));
  1. 使用removeIf()方法去除重复数据。
list.removeIf(uniqueData -> list.stream().filter(ud -> ud.getValue().equals(uniqueData.getValue())).count() > 1);

方法四:使用第三方库,如UniqueHashSet

  1. 添加UniqueHashSet库依赖到项目。
<dependency>
    <groupId>com.github.kokorin.unique</groupId>
    <artifactId>unique-hash-set</artifactId>
    <version>1.1.0</version>
</dependency>
  1. 使用UniqueHashSet去除重复数据。
import com.github.kokorin.unique.UniqueHashSet;

Set<String> uniqueSet = new UniqueHashSet<>(list);

以上四种方法都可以用于实现集合去重。方法一是基于HashSet,方法二是基于Java 8的Stream API,方法三是基于Lombok库,方法四是基于第三方库UniqueHashSet

文章来源:https://blog.csdn.net/Chen_xiaobao/article/details/135530092
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。