Java的集合HashSet

可以使用集合的三个具体类HashSet、LinkedHashSet、TreeSet来创建集合。

     set接口扩展了Collection接口 ,它没有引入新的方法或常量,只是规定set的实例不包含重复的元素。一个集合的散列码是这个集合的所有元素的散列码的和。Hashset类是一个实现了Set接口的类,可以使用它的无参构造函数来创建空的散列集,也可以由一个现有的集合创建散列表。默认情况下,初载容量为16而负载系数是0.75。负载系数的值在0.0~1.0之间。在增加集合的容量之前,负载系数测试该集合允许多满。当元素的个数超过了容量与负载系数的乘积,容量就会自动翻倍。例容量为16,负载系数为0.75。当元素个数达到16*0.75=12时,容量就会翻倍到32.比较高的负载系数会降低空间开销,但是会增加查找时间。通常情况下,默认的负载系数是0.75,它是在时间开销和空间开销上一个很好的权衡。

    

 

package test;

import java.util.HashSet;
import java.util.Set;

public class project1 {
	 
   public static void main(String []args) {
	   Set<String> set=new HashSet<>();
	   set.add("北京");
	   set.add("上海");
	   set.add("长沙");
	   set.add("广州");
	   set.add("北京");
	   set.add("武汉");
	   
	   System.out.print(set);
	}

}
 
 
输出:[上海, 广州, 长沙, 武汉, 北京]

该程序将多个字符串添加到集合中,北京被添加两次,但是只有一次被存储。字符串并没有按照它们被插入的顺序存储,因为散列表是没有特定顺序的。要强加给它们一个顺序,就要使用到LinkedHashSet类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值