Java中给List<String>去重的4种方式

Java中给List去重的4种方式

java 复制代码
List<String> list = new ArrayList<>();
		list.add("apple");
		list.add("banana");
		list.add("banana");
		list.add("apple");
		list.add("orange");
		list.add("orange");

		System.out.println("原始list:" + list);

		// 方式1: Stream 的 distinct() 方法
		List<String> list1 = list.stream().distinct().collect(Collectors.toList());
		System.out.println("方式1:" + list1);

		// 方式2: 使用 Set 去重
		Set<String> set = new HashSet<>(list);
		List<String> list2 = new ArrayList<>(set);
		System.out.println("方式2:" + list2);

		// 方式3: 使用 LinkedHashSet 去重并保留顺序
		Set<String> linkedHashSet =  new LinkedHashSet<>(list);
		List<String> list3 = new ArrayList<>(linkedHashSet);
		System.out.println("方式3:" + list3);

		// 方式4: 手动遍历去重
		List<String> list4 = new ArrayList<>();
		for (String item : list) {
			if (!list4.contains(item)) {
				list4.add(item);
			}
		}
		System.out.println("方式4:" + list4);
相关推荐
nanxun8861 小时前
记一次诡异的 Docker 容器"串包"故障排查
java
用户1563068103513 小时前
Day01 | Java 基础(Java SE)
java
行者全栈架构师5 小时前
Maven dependency:tree 的 8 个高级用法
java·后端
行者全栈架构师9 小时前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_09 小时前
mac(m5)平台编译openjdk
java
唐青枫1 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马1 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261351 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户3721574261351 天前
Java 打印 Word 文档:从基础打印到高级设置
java
用户3521802454752 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程