Java教程

Java Set

本文主要是介绍Java Set,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package 集合;

import java.util.*;

class Student {
    String name;
    int age;

    public Student(String Name, int Age) {
        name = Name;
        age = Age;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return age == student.age && Objects.equals(name, student.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

public class Set {
    public static void main(String[] args) {
        java.util.Set<String> set = new HashSet<>();
        java.util.Set<String> st = new HashSet<>();

        //初始化
        Test01(set, st);
        //单测试
        Test02(set);
        //集合与集合
        Test03(set, st);

        //自定义类测试
        Test04();
        //打印
        System.out.println(set);
        System.out.println(st);
    }

    private static void Test04() {
        java.util.Set<Student> set = new HashSet<>();
        Student s1 = new Student("QianL", 123);
        Student s5 = new Student("QianL", 123);
        Student s2 = new Student("QianL", 12);
        set.add(s1);
        set.add(s5);
        set.add(s2);
        System.out.println(set);
    }

    private static void Test03(java.util.Set<String> set, java.util.Set<String> st) {
        //将指定集合中的所有元素添加到此集合
        if (true) {
            set.addAll(st);
        }

        //如果此集合包含所有指定集合的元素返回true
        if (false) {
            boolean b = set.containsAll(st);
            if (b) {
                System.out.println("set中包含st的所有元素");
            } else {
                System.out.println("set中不包含st的所有元素");
            }
        }

        //从此集合中删除指定集合中包含的所有元素
        if (false) {
            boolean b = set.removeAll(st);
            if (b) {
                System.out.println("全部删除完毕!");
            } else {
                System.out.println("set没有st元素");
            }
        }

        //仅保留该集合中包含在指定集合中的元素
        if (false) {
            boolean b = set.retainAll(st);
            if (b) {
                System.out.println("set保留st中的元素成功!!");
            } else {
                System.out.println("set没有st元素,集合被置空");
            }
        }

        if (false) {
            Iterator<String> it = set.iterator();
            while (it.hasNext()) {
                String next = it.next();
                System.out.print(next + " ");
            }
            System.out.println();
        }

    }

    private static void Test02(java.util.Set<String> set) {
        //从此集合中删除所有元素
        //set.clear();

        //如果此集合包含指定的元素,则返回 true 。
        if (false) {
            boolean b = set.contains("null");
            if (b) {
                System.out.println("null存在");
            } else {
                System.out.println("null不存在!");
            }
        }

        //返回此集合的哈希码值。
        if (false) {
            int i = set.hashCode();
            System.out.println("set对象的哈希码为:\t" + i);
        }

        //如果此集合不包含元素,则返回 true
        if (false) {
            boolean b = set.isEmpty();
            if (b) {
                System.out.println("set为空!");
            } else {
                System.out.println("set不为空!");
            }
        }

        //如果存在,则从该集合中删除指定的元素
        if (false) {
            boolean b = set.remove("虎虎生威");
            if (b) {
                System.out.println("虎虎生威 删除成功!");
            } else {
                System.out.println("虎虎生威不存在!");
            }
        }

        //返回此集合中的元素数
        if (false) {
            int size = set.size();
            System.out.println("set的大小为:\t" + size);
        }

        //返回一个包含此集合中所有元素的数组
        if (false) {
            Object[] o = set.toArray();
            System.out.println(Arrays.toString(o));
        }
    }

    private static void Test01(java.util.Set<String> set, java.util.Set<String> st) {
        set.add("牛气冲天");
        set.add("虎虎生威");
        set.add("牛气冲天");
        set.add("null");
        set.add("null");
        set.add(null);
        set.add(null);

        st.add("王者荣耀");
        st.add("英雄联盟");
        st.add("和平精英");
        st.add("地下城");
    }
}

这篇关于Java Set的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!