Java(HashSet,TreeSet,List,Map)集合(代码演示学习笔记)

集合

一、Java集合概述

1、Java集合类存放于 java.util 包中,是一个用来存放对象的容器。

2、集合只能存放对象。比如你存一个 int 型数据 1放入集合中,其实它是自动转换成 Integer 类后存入的,Java中每一种基本类型都有对应的引用类型。

3、集合存放的是多个对象的引用,对象本身还是放在堆内存中。

4、集合可以存放不同类型,不限数量的数据类型。

二、HashSet集合

1、特点

1、不能保证元素的排列顺序

2、不可重复

3、HashSet 不是线程安全的

4、集合元素可以使 null

注意:
1、当向 HashSet 集合中存入一个元素时,HashSet 会调用该对象的 hashCode() 方法来得到该对象的 hashCode 值,然后根据 hashCode 值决定该对象在 HashSet 中的存储位置。

2、如果两个元素的 equals() 方法返回 true,但它们的 hashCode() 返回值不相等,hashSet 将会把它们存储在不同的位置,但依然可以添加成功。

3、HashSet 集合判断两个元素相等的标准:两个对象通过 equals() 方法比较相等,并且两个对象的 hashCode() 方法返回值也相等。

4、如果两个对象通过 equals() 方法返回 true,这两个对象的 hashCode 值也应该相同。

2、代码演示
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class HSet {
   
    public static void main(String[] args) {
   
        Set set = new HashSet();
        set.add(1);
        set.add("a");
        set.add("你好");
        System.out.println(set);
        set.remove(1);
        System.out.println(set);
        System.out.println(set.contains("你好"));
        set.clear();
        System.out.println(set);
        set.add("a");
        set.add("b");
        set.add("c");
        set.add("d");
        System.out.println(set);
        //使用迭代器遍历集合
        Iterator it = set.iterator();
        while (it.hasNext()) {
   
            System.out.println(it.next());
        }
        System.out.println("===============");
        //for each遍历集合
        for(Object obj:set){
   
            System.out.println(obj);
        }
        System.out.println("set集合中共有"+set.size()+"个元素");
        set.add("a");//set集合存的值不重复
        System.out.println("set集合中共有"+set.size()+"个元素");
    }

}

结果:
在这里插入图片描述

3、泛型的简单了解
import java.util.HashSet;
import java.util.Set;

public
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃辣的IT男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值