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);
相关推荐
侠客行03173 小时前
Mybatis连接池实现及池化模式
java·mybatis·源码阅读
蛇皮划水怪3 小时前
深入浅出LangChain4J
java·langchain·llm
老毛肚5 小时前
MyBatis体系结构与工作原理 上篇
java·mybatis
风流倜傥唐伯虎5 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Yvonne爱编码5 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚5 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂5 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
fuquxiaoguang6 小时前
深入浅出:使用MDC构建SpringBoot全链路请求追踪系统
java·spring boot·后端·调用链分析
琹箐6 小时前
最大堆和最小堆 实现思路
java·开发语言·算法
__WanG6 小时前
JavaTuples 库分析
java