首页 > 编程语言 > 详细

JAVA学习笔记(二十一)- 集合 Set

时间:2015-03-26 09:05:40      阅读:254      评论:0      收藏:0      [点我收藏+]

HashSet集合

import java.util.HashSet;

/*
 * HashSet,实现Set接口,无序、不允许重复
 * 
 * 判断重复的依据:
 * 当添加的元素的hashCode()方法返回值相同,并且equals()方法返回值为true时,就认为是同一个元素
 */
public class Test07
{
    public static void main(String[] args)
    {
        // 创建一个HashSet集合
        HashSet hs = new HashSet();
/*      hs.add("唐伯虎");
        hs.add(250.3);
        hs.add("zhangsan");
        hs.add(null);
        hs.add(12);
        hs.add(new String("lisi"));
        hs.add(12);// 只会出现一次
        hs.add("石榴姐");
        hs.add(new String("itany"));
        hs.add(new String("itany"));// 只会出现一次
*/      Student stu1 = new Student("tom", 20);
        Student stu2 = new Student("tom", 21);
        hs.add(stu1);
        hs.add(stu2);// 只会出现stu1
        System.out.println("stu1的hashCode():" + stu1.hashCode());
        System.out.println("stu2的hashCode():" + stu2.hashCode());
        System.out.println("stu1和stu2的值是否相等:" + stu1.equals(stu2));

        System.out.println("集合中元素个数:" + hs.size());
        System.out.println("集合中的元素:" + hs);
    }
}

class Student
{
    String name;
    int age;

    public Student()
    {
    }

    public Student(String name, int age)
    {
        super();
        this.name = name;
        this.age = age;
    }

    // 重写hashCode方法
    @Override
    public int hashCode()
    {
        return name.hashCode();
    }

    // 重写equals方法
    @Override
    public boolean equals(Object obj)
    {
        Student stu = (Student) obj;
        if (this.name.equals(stu.name)&&this.age==stu.age)
        {
            return true;
        } else
        {
            return false;
        }
    }


}

TreeSet集合

import java.util.Set;
import java.util.TreeSet;

/*
 * TreeSet,实现Set接口
 * 不允许重复、元素顺序和插入顺序不保证一致
 * 
 * 
 */
public class Test08
{
    public static void main(String[] args)
    {
        Set set = new TreeSet();
        /*set.add(10);
        set.add(2);
        set.add(36);
        set.add(14);
        set.add(100);
        set.add(84);
        set.add(100);*/
        set.add("tom");
        set.add("alice");
        set.add("jack");

        System.out.println(set);
    }


}

JAVA学习笔记(二十一)- 集合 Set

原文:http://blog.csdn.net/wangzi11322/article/details/44645047

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!