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);
相关推荐
躲在云朵里`5 分钟前
Java面试题(中等)
java
懂得节能嘛.12 分钟前
【SpringAI实战】实现仿DeepSeek页面对话机器人(支持多模态上传)
java·spring
张乔2417 分钟前
mybatisX的自定义模板生成
java·ide·intellij-idea
笨蛋不要掉眼泪27 分钟前
Java测试题(上)
java·开发语言
ahauedu1 小时前
用Java 代码实现一个简单的负载均衡逻辑
java·python·负载均衡
Java初学者小白1 小时前
秋招Day18 - MyBatis - 基础
java·数据库·mybatis
大白玉米1 小时前
TVBOXOS6.0双端APP二开源码完整版全开源源码重构版
java·重构·php
Dcs1 小时前
Cisco爆出重大漏洞!无需登录即可获取Root权限,攻击者已在野利用!
java
青云交1 小时前
Java 大视界 -- 基于 Java 的大数据分布式存储在工业互联网数据管理与边缘计算协同中的创新实践(364)
java·大数据·边缘计算·工业互联网·分布式存储·paxos·数据协同
oioihoii2 小时前
C++实战案例:从static成员到线程安全的单例模式
java·c++·单例模式