Java集合类之 Set 集合

Posted 小新爱学习.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合类之 Set 集合相关的知识,希望对你有一定的参考价值。



个人名片:

🐼作者简介:一名大一在校生
🐻‍❄️个人主页:小新爱学习.
🐼个人WeChat:hmmwx53
🕊️系列专栏:零基础学java ----- 重识c语言
🐓每日一句:好起来的从来不是生活,而是你自己


前言:

“前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默
经过小新缜密的思考与亲身体验,忍不住分享一下给大家。有人工智能兴趣的朋友们,推荐大家一起学习 🎉点击直接访问🎉
里面有丰富的人工智能学习资料,真正做到从入门到入土,还不快来一起学习🎏🎏🎏


文章目录


Java 集合类之Set 集合

1.1 Set集合概述

Set 集合的特点

  • 不包含重复元素的集合
  • 没有带索引的方法,所以不能使用普通for循环遍历

public interface Set
extends Collection

**一个不包含重复元素的 collection。**更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。

在所有构造方法以及 add、equals 和 hashCode 方法的协定上,Set 接口还加入了其他规定,这些规定超出了从 Collection 接口所继承的内容。出于方便考虑,它还包括了其他继承方法的声明(这些声明的规范已经专门针对 Set 接口进行了修改,但是没有包含任何其他的规定)。

对这些构造方法的其他规定是(不要奇怪),所有构造方法必须创建一个不包含重复元素的 set(正如上面所定义的)。

注:如果将可变对象用作 set 元素,那么必须极其小心。如果对象是 set 中某个元素,以一种影响 equals 比较的方式改变对象的值,那么 set 的行为就是不确定的。此项禁止的一个特殊情况是不允许某个 set 包含其自身作为元素。

1.2 代码示例:‘字符串存储并遍历’


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

/*
Set 集合的特点**
 - 不包含重复元素的集合
 - 没有带索引的方法,所以不能使用普通for循环遍历
 */
public class SetDemo 
    public static void main(String[] args) 
        //创建集合类对象
        //因为Set是一个接口,不能直接实例化,所以这里要用到他的实现类,HashSet,它对集合的迭代顺序不作任何保证
        Set<String> s  = new HashSet<String>();
        s.add("张三");//没有带索引的add方法
        s.add("李四");
        s.add("王五");

        //遍历
        //增强For
        for( String s1 : s)
            System.out.println(s1);
        

    


控制台输出:

原因:此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。

以上是关于Java集合类之 Set 集合的主要内容,如果未能解决你的问题,请参考以下文章

Java 集合学习笔记:Set

Java的集合类之 List 接口用法

Java常用类之集合工具类Collections

集合类之Collection接口和Map接口

android开发 集合类之set和hashSet

java集合类之LinkedList详解