java:集合框架(使用LinkedHashSet去除集合中的重复元素)

import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;

public class Test3 {
	public static void main(String[]args) {
		ArrayList<String> list = new ArrayList<>();
		list.add("a");
		list.add("a");
		list.add("a");
		list.add("b");
		list.add("b");
		list.add("b");
		list.add("b");
		list.add("c");
		list.add("c");
		list.add("c");
		list.add("c");
		System.out.println(list);
		getSingle(list);
		System.out.println(list);
	}
	
	public static void getSingle(List<String> list) {
		LinkedHashSet<String> lhs = new LinkedHashSet<>();
		lhs.addAll(list);									//将list集合中的所有元素添加到lhs
		list.clear();										//清空原集合
		list.addAll(lhs);									//将去除重复的元素添回到list中
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是Java代码实现: ```java import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Random; public class HashSetLinkedHashSetExample { public static void main(String[] args) { HashSet<Integer> hashSet = new HashSet<Integer>(); LinkedHashSet<Integer> linkedHashSet = new LinkedHashSet<Integer>(); Random random = new Random(); // 向HashSetLinkedHashSet添加1000个随机数 for (int i = 0; i < 1000; i++) { int num = random.nextInt(1000); hashSet.add(num); linkedHashSet.add(num); } // 遍历HashSet并输出 System.out.println("HashSet的输出结果为:"); long startTime = System.currentTimeMillis(); Iterator<Integer> iterator1 = hashSet.iterator(); while (iterator1.hasNext()) { System.out.print(iterator1.next() + " "); } long endTime = System.currentTimeMillis(); System.out.println("\nHashSet遍历时间为:" + (endTime - startTime) + "ms"); // 遍历LinkedHashSet并输出 System.out.println("\nLinkedHashSet的输出结果为:"); startTime = System.currentTimeMillis(); Iterator<Integer> iterator2 = linkedHashSet.iterator(); while (iterator2.hasNext()) { System.out.print(iterator2.next() + " "); } endTime = System.currentTimeMillis(); System.out.println("\nLinkedHashSet遍历时间为:" + (endTime - startTime) + "ms"); } } ``` 程序使用Random类生成1000个随机数,然后分别将这些数添加到HashSetLinkedHashSet集合;接着使用Iterator遍历这两个集合并输出。HashSetLinkedHashSet的输出结果应该是相同的,但是遍历时间会有所不同。HashSet的遍历时间通常比LinkedHashSet要快一些,因为HashSet采用哈希表来存储元素元素的存储位置与元素的值有关;而LinkedHashSet采用哈希表和链表来存储元素元素的存储位置与元素的添加顺序有关,所以遍历LinkedHashSet时会比遍历HashSet更耗时。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值