集合练习(一)

去重统计

使用一个List集合存储多个元素。计算集合中共有多少个不重复元素并输出。

public class Repetition {
    //使用一个List集合存储多个元素。计算集合中共有多少个不重复元素并输出。
    public static void main(String[] args) {
        List<String> list = List.of("null","a","b","c","a","1","d","e","c");
        Set<String> unrepetion = new HashSet<String>();
        int count = 0;
        for(String str : list){
            if(!unrepetion.contains(str)){
                unrepetion.add(str);
            }
            else{
                count++;
            }

        }
        System.out.println("不重复的元素是" + (unrepetion.size()-count) + "个");
    }
}

交集计算

有两个List集合, 计算两个集合的交集元素。

public class Intersection {
    //有两个List集合, 计算两个集合的交集元素。
    public static void main(String[] args) {
        List<String> l = new ArrayList<>();
        l.add("喜");
        l.add("欢");
        l.add("的");
        l.add(null);//会自动忽略
        l.add("null");
        l.add("少");
        l.add("年");
        List<String> l1 = new ArrayList<>();
        l1.add("小");
        l1.add("小");
        l1.add("少");
        l1.add("年");

        int minlength = l.size() < l1.size() ? l.size() : l1.size();
        Vector vector = new Vector();
        for (int i =0;i < minlength;i++){
            if(l.contains(l1.get(i))){
                vector.add(l1.get(i));
            }
        }
        System.out.println(vector);

    }
}

差集运算

有两个List集合, 计算第一个集合对第二个集合的差集元素。

public class Difference {
    //有两个List集合, 计算第一个集合对第二个集合的差集元素。
    public static void main(String[] args) {
        List<String> lis1 = List.of("小","小","少","年");
        List<String> lis2 = List.of("少","年","的","喜","欢");

        List<String> difference = new ArrayList<>(lis1);
        difference.removeAll(lis2);
        System.out.println("差集元素:" + difference);
    }

}

对称差集运算

有两个List集合, 计算两个集合的对称差集元素。

public class symmetricDifference {
    //有两个List集合, 计算两个集合的对称差集元素。
    public static void main(String[] args) {
        List<String> lis1 = List.of("小","小","少","年");
        List<String> lis2 = List.of("少","年","的","喜","欢");


        //求并集
        Set<String> s1 = new HashSet<>(lis1);
        s1.addAll(lis2);
        System.out.println(s1);
        //求交集
        Set<String> s2 = new HashSet<>(lis1);
        s2.retainAll(lis2);
        System.out.println(s2);

        //对称差集
        s1.removeAll(s2);

        System.out.println(s1);
    }
}

并集

有两个List集合, 计算两个集合的并集元素。

public class Union {
    public static void main(String[] args) {
        //有两个List集合, 计算两个集合的并集元素。
        List<String> list1 = List.of("小","小","少","年");
        List<String> list2 = List.of("少","年","的","喜","欢");

        Set<String> set1 = new HashSet<>(list1);
        set1.addAll(list2);
        System.out.println(set1);
    }
}

移除集合元素

使用Set集合存储多个字符串,移除其中长度为奇数的字符串

public class RemoveOdd {
    //使用Set集合存储多个字符串,移除其中长度为奇数的字符串
    public static void main(String[] args) {
        Set<String> stringSet = new HashSet<>();
        stringSet.add("apple");
        stringSet.add("banana");
        stringSet.add("orange");
        stringSet.add("kiwi");
        System.out.println("原始集合" + stringSet);

        Iterator<String> iterator =stringSet.iterator();
        while (iterator.hasNext()){
            String str = iterator.next();
            if(str.length() % 2 !=0){
                iterator.remove();
            }

        }
        System.out.println("删除后的集合" + stringSet);
    }
}

统计字符出现的次数

使用集合统计一段文本中各个字符出现的次数。

public class Count {
    //使用集合统计一段文本中各个字符出现的次数。
    public static void main(String[] args) {
        String text = "Hello,World!";

        Set<Character> s1 = new HashSet<>();
        List<Character> l1 = new ArrayList<>();
        for (Character str : text.toCharArray()){
            if(!s1.contains(str)){
                s1.add(str);
            }
        }
        for (Character str : text.toCharArray()){
            l1.add(str);
        }
        System.out.println(s1);
        for (Character str : s1){
            int count = 0;
            for(Character str1 :l1){
                if(str == str1){
                    count++;
                }
            }
            System.out.println(str +"出现的次数是" +count);
        }

    }
}

回答: 在Python中,元组是一种不可变的数据类型,用于存储多个元素的有序集合。元组使用圆括号来表示,可以包含任意类型的元素,并且元素之间用逗号分隔。元组的元素不能被修改、删除或添加。\[2\] 集合是一种无序且不重复的数据类型,用于存储多个元素的集合集合使用大括号来表示,元素之间用逗号分隔。集合可以进行交集、并集、差集等操作。\[3\] 下面是一些关于元组和集合练习题的答案: 1. 创建一个只有一个元素的元组: tup1 = (5,) \[2.1\] 2. 运行下面程序的结果: 该程序会输出集合s1和s2的交集、并集、差集和对称差集: s1 = {1, 2, 3, 4, 5} s2 = {2, 3, 4, 5, 6, 7} print(s1 & s2) # 输出交集 {2, 3, 4, 5} print(s1 | s2) # 输出并集 {1, 2, 3, 4, 5, 6, 7} print(s1 - s2) # 输出差集 {1} print(s1 ^ s2) # 输出对称差集 {1, 6, 7} \[3\] 以上是关于Python元组和集合练习题的答案。希望对你有帮助! #### 引用[.reference_title] - *1* *2* [【Python练习】task-05 字符串、列表、元组、字典、集合练习和实验](https://blog.csdn.net/m0_67463447/article/details/125967830)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Python字符串元组和集合相关及字符串习题](https://blog.csdn.net/qq_48276142/article/details/124330454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值