首页 > 其他分享 >集合.Set子接口

集合.Set子接口

时间:2022-09-23 20:23:17浏览次数:56  
标签:Set hashSet System 接口 println add set 集合 out

Set子接口

特点:无序、无下标、元素不可重复

方法:全部继承自Collection中的方法

Set实现类

HashSet【重点】:

  • 基于HashCode实现元素不重复

  • 当存入元素的哈希码相同时,会调用equals进行确认,如结果为true,则拒绝后者存入

TreeSet:

  • 基于排列顺序实现元素不重复

package jihe2;

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

/**
 * 测试Set接口的使用
 * 特点:1.无序、没有下标 2.不能重复
 */
public class Demo01 {
    public static void main(String[] args) {
        //创建集合
        Set<String> set = new HashSet<>();
        //1.添加数据
        set.add("苹果");
        set.add("小米");
        set.add("华为");
        System.out.println("数据个数"+set.size());
        System.out.println(set.toString());
        //2.删除数据
        //set.remove("小米");
        //System.out.println(set.toString());
        //3.遍历【重点】
        //3.1使用增强for
        System.out.println("--------增强for--------");
        for (String string:set) {
            System.out.println(string);
        }
        //3.2使用迭代器
        Iterator<String> it = set.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }
        //4.判断
        System.out.println(set.contains("华为"));
        System.out.println(set.isEmpty());
    }
}
package jihe2;

import java.util.HashSet;
import java.util.Iterator;

/**
 * HashSet集合的使用
 * 存储结构:哈希表(数组+链表+红黑树)
 * 存储过程:
 * (1)根据hashcode计算保存的位置,如果此位置为空,则直接保存,如果不为空执行第二步
 * (2)再执行equals方法,如果equals方法为true,则认为是重复,否则,形成链表
 *
 */
public class Demo02 {
    public static void main(String[] args) {
        //新建集合
        HashSet<String> hashSet = new HashSet<>();
        //1.添加元素
        hashSet.add("AAAA");
        hashSet.add("BBBB");
        hashSet.add("CCCC");
        hashSet.add("DDDD");
        System.out.println("元素个数"+hashSet.size());
        System.out.println(hashSet.toString());
        //2.删除数据
        //hashSet.remove("AAAA");
        //System.out.println(hashSet.toString());
        //3.遍历
        //3.1使用增强for
        for (String string:hashSet) {
            System.out.println(string);
        }
        //3.2使用迭代器
        Iterator<String> it = hashSet.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }
        //4.判断
        System.out.println(hashSet.contains("EEEE"));
        System.out.println(hashSet.isEmpty());
    }
}

 

搜索

复制

标签:Set,hashSet,System,接口,println,add,set,集合,out
From: https://www.cnblogs.com/sususyq-/p/16724122.html

相关文章

  • NLP-报错集合
    中文语料库预处理时: 官网地址:https://radimrehurek.com/gensim/models/word2vec.html#gensim.models.word2vec.Text8Corpus 报错:AttributeError:Theindex2wordatt......
  • memset函数的赋值问题
    memset函数的赋值问题memset函数的定义在C++标准库中对memset函数的定义为:定义于头文件cstring。转换值ch为unsignedchar并复制它到dest所指向对象的首count......
  • uniapp 中 setTimeout 没有生效、报错问题
    我在uniapp中使用setTimeout时,直接就使用this来赋值和调用函数,如下: 结果报错(也是报的这个错误才找出了原因) 后面才发现是this指向问题改成 问题就解决......
  • 编程规约-集合处理
    编程规约-集合处理泛型集合泛型定义集合泛型定义时,在JDK7及以上,使用diamond语法或全省略。说明:菱形泛型,即diamond,直接使用<>来指代前边已经指定的类型。正例://......
  • JavaScript HTML DOM 集合(Collection)
    Collection对象:getElementsByTagName()方法返回htmlCollection对象。此对象包含html元素的一个数组 length属性:元素的数量。此属性常用于遍历集合中的元素使用......
  • 编程规约-处理Map List Set
    编程规约-处理MapListSetMapCollectors类的toMap()方法相同键相关联的值之间的冲突在使用java.util.stream.Collectors类的toMap()方法转为Map集合时,一定要使......
  • 【C#】接口的基本概念
    目录基本什么是接口接口与抽象类的区别抽象类接口实例设计接口基本什么是接口C#接口(interface)是:用来定义一种程序的协定实现接口的类或者结构要与接口的定义严格一致。......
  • Feign调用第三方http接口 (摘抄)
    我们平常在开发的时候,经常会碰到调用第三方的接口,这个时候我们可以使用httpClient或者restTemplate,但是这两种方式相比较与Feign调用,都会麻烦一点儿。Feign是声明式服务调......
  • layui 数据表格使用python django提供的数据接口
    数据库新建表 fromdjango.dbimportmodels#Createyourmodelshere.classHost(models.Model):hostname=models.CharField(max_length=32,verbose_name......
  • 简单的继承练习——疑问:私有属性在类的方法内调用时,有必要使用get,set方法嘛?
    要求:创建一个Circle类,设置半径属性和返回面积的方法,在无参构造器中初始化半径值为1。创建一个Cylinder类,继承Circle类,设置属性高和返回体积的方法,在无参构造器中初始化......