美文网首页
集合的三种遍历方式

集合的三种遍历方式

作者: 干货助手 | 来源:发表于2018-10-14 21:40 被阅读0次
import java.util.*;
class Student{
    private String name;
    private int age;
    public Student(String name,int age){
        this.age = age ;
        this.name = name ;
    }
    public String toString() {
        return "name="+name+";age="+age;
    }
}

public class HelloWorld{
    public static void main(String[] args) {
        HashSet<Student> hash = new HashSet<Student>();//实例化一个散列表---无固定顺序
        
        Student stu1 = new Student("789",14);
        
        hash.add(new Student("123",12));
        hash.add(new Student("456",13));
        hash.add(stu1);
        hash.add(new Student("012",15));
    
        System.out.println("个 数:"+hash.size());
        System.out.println("------------foreach遍历-----------");
        for(Student a: hash) {
            System.out.println(a);
        }

        hash.remove( stu1);//移除一个数据
        //使用new Student("789",14)移除数据,失败,但是使用stu1移除数据成功,为何???
        System.out.println("移除后个数:"+hash.size());
        System.out.println("------------for遍历-----------");
        Object[] object =  hash.toArray(); //需要先将其转换为数组,然后遍历
        for(int i = 0 ;i<hash.size();i++) {
            System.out.println(object[i]);
        }
        
        System.out.println("------------Iterator遍历-----------");
        Iterator<Student> iterator = hash.iterator();
        while(iterator.hasNext()) {

            System.out.println(iterator.next());
        }
        
        
        System.out.println("-----------------------");
        hash.clear();
        System.out.println("清空后个数:"+hash.size());
    }
}

运行结果

个 数:4
------------foreach遍历-----------
name=123;age=12
name=012;age=15
name=789;age=14
name=456;age=13
移除后个数:3
------------for遍历-----------
name=123;age=12
name=012;age=15
name=456;age=13
------------Iterator遍历-----------
name=123;age=12
name=012;age=15
name=456;age=13
-----------------------
清空后个数:0

相关文章

网友评论

      本文标题:集合的三种遍历方式

      本文链接:https://www.haomeiwen.com/subject/umrlrftx.html