Java-Set


import java.util.HashSet;
import java.util.Iterator;

/*
 * Set:元素是无序的(存入和取出的顺序不一定一致),元素不可以重复。
 *         HashSet:底层数据结构是哈希表
 *                 HashSet是如何保证元素唯一性的呢?
 *                 是通过元素的两个方法,HashCode和equals来完成。
 *                 如果元素的HashCode值相同,才会判断equals是否为true
 *                 如果元素的HashCode的值不同,不会调用equals
 *
 *                 注意,对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashCode和equals方法
 *                 
 *         TreeSet:底层数据结构
 *
 * Set集合的功能和Collection是一致的
 */

//class Demo{
//    public int hashCode() {
//        return 60;
//    }
//    
//}

public class HashSetDemo {
    public static void Sop(Object obj) {
        System.out.println(obj);
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
//        Demo d1 = new Demo();
//        Demo d2 = new Demo();
//        
//        Sop(d1);
//        Sop(d2);
        
        HashSet hs = new HashSet();
        
        Sop(hs.add("java01"));//true
        Sop(hs.add("java01"));//false
        hs.add("java02");
        hs.add("java02");
        hs.add("java03");
        hs.add("java04");
        
        Sop(hs);//[java04,ava03,java02,java01]
        
        Iterator it = hs.iterator();
        
        while(it.hasNext()) {
            Sop(it.next());
        }

    }

}

猜你喜欢

转载自blog.csdn.net/Lydia233/article/details/102399268
今日推荐