欢迎光临
我们一直在努力

Set集合基础验证|HashSet实现随机不重复整数、字符串去重

正文

✅ 实验题目:验证HashSet自动去重特性
两个验证案例:

  • 生成10个0~50之间不重复随机整数

  • 键盘输入字符串,去除重复字符
    核心知识点:Set集合最大特点:不允许存储重复元素,无序;底层基于HashMap,添加重复元素add()返回false,不会报错。

  • 1.随机不重复整数代码
    import java.util.HashSet;
    import java.util.Random;
    import java.util.Set;

    public class RandomUniqueNumbers {
    public static void main(String[] args) {
    Set numbers = new HashSet<>();
    Random random = new Random();
    while (numbers.size() < 10) {
    int num = random.nextInt(51);
    numbers.add(num);
    }
    System.out.println(“生成的10个不重复随机数为:”);
    for (int number : numbers) {
    System.out.print(number + " ");
    }
    }
    }
    运行说明:while循环持续生成,直到集合size=10,HashSet自动舍弃重复值。

  • 字符串去重代码
    import java.util.HashSet;
    import java.util.Scanner;
    import java.util.Set;
  • public class RemoveDuplicatesSimple {
    public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.print(“请输入一个字符串:”);
    String input = scanner.nextLine();
    Set charSet = new HashSet<>();
    for (int i = 0; i < input.length(); i++) {
    charSet.add(input.charAt(i));
    }
    System.out.print(“去除重复字符后的结果:”);
    for (char c : charSet) {
    System.out.print©;
    }
    scanner.close();
    }
    }
    ⚠️ 踩坑提醒:HashSet输出字符顺序和原字符串不一致!想要保留字符顺序请换成LinkedHashSet。

    思考题

    Q:Java中的Set集合有什么特点?它和List集合最明显的区别是什么?
    A:Set元素不可重复;List允许重复元素。Set大多无序(LinkedHashSet除外),List是有序、按下标索引访问。

    Q:有一个字符串"hello world",如何利用Set集合快速找出其中所有不重复的字符?
    A:遍历字符串每个char,逐个add进HashSet,集合内就是全部不重复字符。

    结语
    本篇是Set入门验证代码,适合刚学习集合框架的同学,下一篇讲解LinkedHashSet有序去重、求最值平均值。

    赞(0)
    未经允许不得转载:171主机测评 » Set集合基础验证|HashSet实现随机不重复整数、字符串去重
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址