下面要给大家介绍的就是java Set集合方面的内容,本文主要讲到了HashSet类的一些知识,主要包括了HashSet类的特点,HashSet 类的常用构造方法重载形式以及代码演示了创建两种不同形式的HashSet对象等内容,一起来了解一下。
HashSet是Set接口的典型实现,大多数时候使用Set集合时就是使用这个实现类。
HashSet是按照Hash算法来存储集合中的元素,所以的话,具有很好的存取和查找性能。
HashSet特点:
在向HashSet集合当中存入一个元素的时候,HashSet会调用该对象的hashCode()方法来得到这个对象的hashCode值,之后,根据这个hashCode值决定该对象在HashSet当中的存储位置。
假如有两个元素通过equals()方法比较返回的结果为true,可是,它们的hashCode不相等,HashSet 就会将它们存储在不同的位置,照样能够添加成功。
也就是两个对象的hashCode值相等且通过equals()方法比较返回结果为true,那么HashSet集合认为两个元素相等。
在HashSet类当中,实现了Collection接口中的所有方法。
下面是HashSet类的常用构造方法重载形式:
HashSet()---构造一个新的空的set集合;
HashSet(Collectionc)---构造一个包含指定Collection集合元素的新Set集合。
其中,“< >”中的extends表示HashSet的父类,即指明该Set集合中存放的集合元素类型,c表示其中的元素将被存放在此Set集合中。
创建两种不同形式的HashSet对象代码:
HashSet hs = new HashSet(); // 调用无参的构造函数创建HashSet对象 HashSet<String> hss = new HashSet<String>(); // 创建泛型的 HashSet 集合对象
示例:
编写一个Java程序,使用HashSet创建一个Set集合,并向该集合中添加4套教程。
public static void main(String[] args) { HashSet < String > courseSet = new HashSet < String > (); // 创建一个空的 Set 集合 String course1 = new String("教程1"); String course2 = new String("教程2"); String course3 = new String("教程3"); String course4 = new String("教程4"); courseSet.add(course1); // 将 course1 存储到 Set 集合中 courseSet.add(course2); // 将 course2 存储到 Set 集合中 courseSet.add(course3); // 将 course3 存储到 Set 集合中 courseSet.add(course4); // 将 course4 存储到 Set 集合中 System.out.println("总教程有:"); Iterator < String > it = courseSet.iterator(); while (it.hasNext()) { System.out.println("《" + (String) it.next() + "》"); // 输出 Set 集合中的元素 } System.out.println("有" + courseSet.size() + "套精彩教程!"); }
程序运行输出的结果:
总教程有: 教程1 教程2 教程3 教程4 有4套精彩教程!
java Set集合,HashSet类的详细介绍,你都清楚了吗?更多和java Set集合相关的java基础知识,可以继续通过奇Q工具网来进行了解呢。
推荐阅读: