Collection Set List 集合二

Set List 都继承Collection

Collection:元素之间没有顺序,允许重复和多个null元素对象。

Set:元素之间没有顺序,不允许重复只能存一个null。

List:元素之间有顺序,允许重复和多个null元素对象。

由于Set Collection没有顺序所以没有按索引取存改等方法,如get(index);所以用for循环遍历时只能用加强for遍历

Class TestCollection {
    public static void mian(String[] args){
        Set<Student> set = new HashSet();
        Student s1 = new Student("s1",20);
        set.add(s1);     //Set只能存一个 因为返回的equals函数和hashCode()的值都一样
        set.add(s1);
        set.add(new Student("s2",21));//当没有重写equals和hashCode函数时可以存两个
        set.add(new Stuent("s2",21));
        for(Student s:set){           //增强for 一般用于遍历 不能对元素进行操作 所以一般用迭代器
            System.out.println(s);
        }
    }
}

Class Student {
    private int age;
    private String name;
    public Student (int age,String name) {
       super();
       this.name = name;
       this.age = age;
    }
    public String toString(){
        return "Student [ age= "+age+"name="+name+"]";
    }
    public boolean equals(Student s) {
        if(name.equals(s.name)&&age.equals(s.age))return true;
    }
    public int hashCode() {
       return name.hashCode()+age;
    }
}
                    

原文地址:https://www.cnblogs.com/weixiaole/p/3449643.html