java实现list去重(四种方法)

发布时间:2024年01月05日

📑前言

本文主要是【Java】——java实现list去重(四种方法)的文章,如果有什么需要改进的地方还请大佬指出??

🎬作者简介:大家好,我是听风与他🥇
??博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

1.Set

	//由于set的无序性,不会保持原来的顺序。
	public static List<String> solution1(List<String> list){
		Set<String> set = new HashSet<>(list);
		List<String> ans = new ArrayList<>(set);
		return ans;
	}

2.遍历list集合,将元素添加到另一个List集合中

	public static List<String> solution2(List<String> list){
		List<String> ans = new ArrayList<>();
		for(String i:list) {
			if (!ans.contains(i)) {
				ans.add(i);
			}else {
				continue;
			}
		}
		return ans;
	}

3.java8特性去重

	/**
	 * java8特性去重
	 */
	public static List<String> solution3(List<String> list){
		List<String> ans = list.stream().distinct().collect(Collectors.toList());
		return ans;
	}

4.用TreeSet去重,默认数字升序排序,字母按照字典序

	public static List<String> solution4(List<String> list){
		TreeSet<String> t = new TreeSet<>(list);
		List<String> ans = new ArrayList<>(t);
		return ans;
	}

测试

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List<String> list = new ArrayList<>();
		list.add("apple");
		list.add("banana");
		list.add("apple");
		list.add("orange");
		list.add("banana");
		list.add("grape");
		list.add("grape");
		System.out.println(solution1(list));
		System.out.println(solution2(list));
		System.out.println(solution3(list));
		System.out.println(solution4(list));
	}

输出结果

📑文章末尾

在这里插入图片描述

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