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);
相关推荐
hrrrrb9 分钟前
【Java Web 快速入门】十、AOP
java·前端·spring boot
凛冬君主13 分钟前
插入排序专栏
java·算法·排序算法
檀越剑指大厂35 分钟前
【开发语言】Groovy语言:Java生态中的动态力量
java·开发语言
Tina学编程1 小时前
线程P5 | 单例模式[线程安全版]~懒汉 + 饿汉
java·单例模式·线程安全
我们从未走散1 小时前
设计模式学习笔记-----单例模式
java·笔记·学习·单例模式·设计模式
期待のcode1 小时前
Maven
java·spring·maven·mybatis
IT毕设实战小研1 小时前
Java毕业设计选题推荐 |基于SpringBoot的健身爱好线上互动与打卡社交平台系统 互动打卡小程序系统
java·开发语言·vue.js·spring boot·vue·毕业设计·课程设计
long3163 小时前
java 工厂方法设计模式 FactoryMethod
java·开发语言·后端·设计模式
萤丰信息5 小时前
智慧工地从工具叠加到全要素重构的核心引擎
java·大数据·人工智能·重构·智慧城市·智慧工地
找不到、了7 小时前
Java设计模式之《原型模式》--深、浅copy
java·设计模式·原型模式